Clojure-automated-testing
提供:Dev Guides
Clojure-自動テスト
この章では、Clojureが提供する自動テストオプションについて説明します。
クライアントアプリケーションのテスト
Clojureフレームワークのテストを使用するには、https://github.com/slagyr/speclj#manual-installationにある依存関係を使用する必要があります
このURLは、 speclj フレームワークを提供します。これは、Clojureのテストデータ駆動型または動作駆動型テストフレームワークとして使用されます。 「speclj」ライブラリを使用する場合は、Clojure 1.7.0フレームワークを使用する必要があります。 デフォルトでは、テストファイルはClojureコードファイルとは異なるため、「spec」ディレクトリに配置する必要があります。
以下は、テストファイルのサンプルコードです。
上記のコードについては、次のことに注意する必要があります-
- まず、「require」ステートメントを使用して、すべてのコアライブラリを「speclj」フレームワークに含めるようにする必要があります。
- 次は「説明」機能です。 これは、作成されるテストケースの説明を提供するために使用されます。
- 次の機能は「it」機能です。これは実際のテストケースです。 最初のテストケースでは、「is true」文字列はテストケースに付けられた名前です。
- shouldとshould-notは*アサーション*と呼ばれます。 すべてのアサーションはshouldで始まります。 shouldとshould-notは、利用可能な多くのアサーションのうちの2つだけです。 彼らは両方とも、それぞれ真実性と虚偽性をチェックする表現を取ります。
テストケースを実行すると、次の出力が得られます。 出力には、テストケースの実行にかかった時間がミリ秒単位で表示されます。
Webベースのアプリケーションのテスト
ClojureのWebベースのアプリケーションをテストするためにSeleniumライブラリーを使用する方法を見てみましょう。
- ステップ1 *-最初のステップは、Ring and Compojureフレームワークを使用して、テストが必要なWebベースのアプリケーションを作成していることを確認することです。 前の章の例の1つを使用してみましょう。 次のコードは、ブラウザに「Hello World」を表示する単純なWebアプリケーションです。
- ステップ2 *-次に、セレンjarファイルhttps://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server/2.47.0をダウンロードして、クラスパスに含めるようにしてください。
- ステップ3 *-また、次の場所からWebテストを実行するために使用される「clj」Webドライバーをダウンロードします。
https://clojars.org/clj-webdriver/versions/0.7.1
- ステップ4 *-プロジェクトディレクトリで、featuresという別のディレクトリを作成し、「config.clj」というファイルを作成します。
- ステップ5 *-次に、前のステップで作成した「config.clj」ファイルに次のコードを追加します。
上記のコードは基本的に、Webテストフレームワークにアプリケーションをテストするように指示します。アプリケーションはURL http://localhost:3000 でロードされます。
- ステップ6 *-最後に、テストを実行するコードを作成しましょう。
上記のコードは次のアクションを実行します-
- アプリケーションのサーバーを起動します。
- ブラウザでルートパスを開きます。
- 「Hello World」メッセージがページに表示されているかどうかを確認してください。
- ブラウザを閉じます。
- サーバーをシャットダウンします。