NetBeansのJsTestDriverがアサーションの失敗後にテストを停止する


178

このリンクに従って、NetbeansのJSテストドライバーでJavaScriptユニットテストを設定しました。ただし、そのチュートリアルの結果とは異なり、アサーションが失敗した後はテストは実行されません。この動作を変更するにはどうすればよいですか?

たとえば、次のテストファイルがあるとします。

test.jsファイル:

AssertionsTestCase = TestCase("AssertionsTestCase");

AssertionsTestCase.prototype.testAlwaysPass = function(){
  assertEquals(1, 1);
  assertEquals(2, 2);
};
AssertionsTestCase.prototype.testAlwaysFail1 = function(){
  assertEquals(1, 2);
};
AssertionsTestCase.prototype.testAlwaysFail2 = function(){
  assertEquals(3, 4);
};

進行状況バーに50%(2つのテスト)と表示され、33%と表示されます。

ここに画像の説明を入力してください

jsTestDriver.confファイル:

server: http://localhost:42442
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

すべてのテストをコマンドラインで実行できます。(Windows PowerShellの場合)。次のように実行すると、テストは失敗後に実行を停止しません。


java -jar $ env:JSTD \ JsTestDriver-1.3.5.jar --tests all --config jsTestDriver.conf

jsTestDriver.confファイル:

server: http://localhost:4244
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

3つのテストすべてが実行されます。


8
別のブラウザで試しましたか?コマンドラインから動作しているので、失敗の原因はnetbeansまたはブラウザにあると思います。
Silu

3
これは役に立ちますか?jasmine --stop-on-failure = false jasmine.github.io/2.5/node.html#section-21
ルーク

たぶん、ここのコメントは、stackoverflow.com / questions / 22119193 /…
Robert Fines

NetBeansのテスト処理は、少なくともMochaではバグが多いと思います。
ダンカン

回答:


1

Chromeのようにうまく機能するようです。 ここに画像の説明を入力してください

コメントのようにFirefoxに関してはそれは正しい答えではないと述べました。私はそれを部分的に機能させることができました。問題は、netbeansが失敗したテストをどのように処理するか、およびjstestdriver.jarがどのように開始されるかです。これで問題が解決しないことはわかっていますが、正しい方向を示しています。

ここに画像の説明を入力してください

これを再現する手順。

  1. サービスからJSテストドライバーを開始する
  2. テストを実行します。
  3. Linuxを使っているので。現在のユーザーのNetbeans構成フォルダーからjstestdriver.propertiesを見つけました。私の場合、それは

    /home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties

    jstestdriver.jar --tests all --resetに引数を追加して、ロケーションプロパティを編集します。プロパティを編集すると、次のようになります。

    location=/home/user/Downloads/jstestdriver-1.3.5.jar --tests all --reset server.url=http://localhost:42442 strict.mode=false use.browser.ANDROID_DEVICE_CHROME=false use.browser.ANDROID_DEVICE_DEFAULT=false use.browser.ANDROID_EMULATOR_DEFAULT=false use.browser.Chrome=false use.browser.Chrome.INTEGRATED=false use.browser.SL__Browsers_FirefoxBrowser=true use.browser.SL__Browsers_MozillaBrowser=false

  4. 2回繰り返します。

    • サービスからJSテストドライバーを再起動します。
    • テストを実行します。

2回目の再起動と実行の後、上の図のようにすべてのテストが実行されます。NetbeansでJSテストドライバーの引数--tests all --resetを追加できる場合、Chromeと同様に機能するように問題を解決する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.