RequireJS を使用しているアプリケーションのテストを書いています。アプリケーションがどのように動作するかにより、 を呼び出すことによっていくつかのクラスを取得することが期待されますrequire
。したがって、テスト用にいくつかのダミー クラスがありますが、このテストのためだけにそれらを個別のファイルに入れる必要はありません。define()
次のように、テストファイル内で手動でそれらだけを使用することをお勧めします。
define('test/foo', function () {
return "foo";
});
define('test/bar', function () {
return "bar";
});
test("...", function () {
MyApp.load("test/foo"); // <-- internally, it calls require('test/foo')
});
ここでの問題は、スクリプトのオンロード イベントが発生するまで、これらのモジュールの評価が遅れることです。
//Always save off evaluating the def call until the script onload handler. //This allows multiple modules to be in a file without prematurely //tracing dependencies, and allows for anonymous module support, //where the module name is not known until the script onload event //occurs. If no context, use the global queue, and get it processed //in the onscript load callback. (context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
キューを手動でトリガーして評価する方法はありますか?