NetBeans の JsTestDriver はアサーションが失敗した後にテストを停止します 質問する

NetBeans の JsTestDriver はアサーションが失敗した後にテストを停止します 質問する

私は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 つのテストがすべて実行されます。

ベストアンサー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 と同じように動作する問題が解決されるはずです。

おすすめ記事