4

コマンドラインから単純な Javascript 関数をテストするために、dojo-1.3.2 から DOH を実行しようとしています。しかし、何も実行できないようで、ネットには DOH コマンドライン ドキュメントがないようです。

理想的には、私が望む構造は次のとおりです。

テストは次の場所にあります: C:\myproject\tests\

Dojo 常駐: C:\dojo-1.3.2\util\doh

今のところ、簡単なテストを ..\doh\tests に入れました

..\doh ディレクトリで実行してみます:

java -jar ..\shrinksafe\js.jar runner.js testModule=tests.module

私が得るたびに:

js: キャッチされない JavaScript ランタイム例外: ReferenceError: "window" is not defined ed. 例外が発生しました: エラー: 'tests.module' を読み込めませんでした。最後に 'tests/module.js' を試行しました 0 グループで実行する 0 テスト

私がやり残したことで、私がしなければならないことはありますか?dojoUrl= を使用して dojo.js ファイルを指定しようとしましたが、それでも同じエラーが発生します。

私のテストを見る限り、ウィンドウはどこにも使用されていません。私は3つのファイルを持っています:

tests/module.js

dojo.provide("tests.module");
dojo.require("tests.functions.functions");

テスト/関数/functions.js

dojo.provide("tests.functions.functions");
dojo.require("tests.demoFunctions");

doh.register("tests.functions.functions", [
    function test_alwaysTrue(){
        doh.assertTrue(tests.demoFunctions.alwaysTrue());
    }
]);

tests/demoFunctions.js

    dojo.provide("tests.demoFunctions");

tests.demoFunctions.alwaysTrue = function(){
    return true;
};

また、../dojo-1.3.2/ にテストが含まれるようにディレクトリーを再構築しようとしました。コマンドプロンプトから上記と同じコマンドを実行すると、同じように失敗します。ディレクトリ構造:

/dojo-1.3.2

   /dojo
   /tests
   ...
   /util

      /shrinksafe
      ...
      /doh
4

4 に答える 4

1

testFolder をデフォルトの dojo-release-xxx\ ディレクトリーの外に保管したい場合。コマンドに次を追加します: registerModulePath=tests,../myproject/tests

実際のディレクトリ構造を見つけるには、 ../を適切に編集する必要がある場合があります。

于 2011-06-29T06:35:36.783 に答える
1

「ウィンドウ」がどこから来ているのかはわかりませんが、Dojo ディレクトリー外のテストで doh が適切に機能したことはないと思います。util/doh をテスト ディレクトリのピアにコピーすると機能しますか?

于 2010-01-21T19:23:44.973 に答える
0

ここにパッチがあります: http://bugs.dojotoolkit.org/ticket/10511これにより、Dojo ルートの外部でコマンドライン テストを実行できるようになりますが、とにかく dojo-1.6.1 では適用されていないようです。 .

于 2011-11-16T17:21:40.523 に答える
0

Dojo ソース ツリー外のテストを含め、コマンド ラインで DOH テストを実行することができます。コード モジュールが dojo/util/doh の場所に対して相対的な場所を示す次のような構成ファイルを作成します。

require({
    paths: {
        "org/myorg" : "../../../mycode/org/myorg",
        "com/mycom" : "../../../x/com/mycom"
    }
});

config.js という名前を付けます。コマンド ウィンドウを開き、「dijit」、「dojo」、「dojox」、および「util」ディレクトリを含むディレクトリに移動します。次のコマンドを実行します。

java -jar util/shrinksafe/js.jar dojo/dojo.js baseUrl=file:///full/path/to/dojo/dojo load=file://full/path/to/config.js load=doh test=com/mycom/tests

完全な答えはここにあります: http://dojotoolkit.org/reference-guide/1.9/util/doh.html

より詳細な説明がここにあります: http://www.artificialworlds.net/blog/2012/10/09/running-dojo-doh-unit-tests-on-the-command-line-with-rhino/

于 2014-02-10T14:44:53.067 に答える