QUnit を使用してtypescriptコードをテストしていますが、次のような簡単な例を実行するとすべて問題ありません。
しかし、SPA アプリの単体テストを作成しようとすると、悪夢が始まります。VS で Chutzpah を使用してテストを実行しようとしているときに、奇妙なエラーが発生しました。
私のコード怒鳴る:
home.ts
import logger = module('services/logger');
export var title = 'Home View';
export function activate() {
logger.log('Home View Activated', null, 'home', true);
return true;
}
home.tests.ts
/// <reference path="../../Scripts/qunit.d.ts" />
QUnit.module("home.ts tests");
import home = module("home");
test("test title from home viewmodel", function () {
// Calling to active public function from home viewmodel. (home.ts)
var activateResult:string = home.title;
// Assert
equal(activateResult, "Home View", "Result should be Home View ");
});
ここに私のtypeScript設定があります:
私のコードの何が問題なのですか?
更新 1 Vs2012 の出力ウィンドウからの完全なメッセージは次のとおりです。
テスト 'home.ts tests:test activate function from home viewmodel' が失敗しました file:///C:/Users/rolando/AppData/Local/Microsoft/VisualStudio/11.0/Extensions/kyo4ap1e.tvo/TestFiles のテスト #1 で停止しました/QUnit/qunit.js:412 at file:///D:/Mercatus/SourceCode/KILN/AquaVet2/SW/AquaVet.Web/App/viewmodels/_Chutzpah.7.home.tests.js:6: できませんfind variable: home in D:\Mercatus\SourceCode\KILN\AquaVet2\SW\AquaVet.Web\App\viewmodels\home.tests.ts (6 行目)
合格 0 件、不合格 1 件、合計 1 件 (chutzpah)。
更新 2 コードでわかるように、キーワード module("home"). を使用して home.ts をロードしようとしています。それが問題の原因であるかどうかはわかりません。より良い解決策は、home.ts への内部参照を追加することです。
しかし、アクティベート機能を参照する方法がわかりません!!。