1

VSでjasmine/Chutzpahを使用してAMDで動作するTypeScriptのテストを取得できません。

Sample.ts:

export class Sample {
    constructor(public name: string) { }
}

Simple.ts:

/// <reference path="./require.d.ts" />
/// <reference path="./jasmine.d.ts" />

import SampleModule = module("./Sample");

describe("TypeScript1", function () {
    it("should pass a simple test", function () {
          expect(1).toEqual(1);
    });
});

describe("TypeScript2", function () {
    it("should pass a sample test", function () {
        var sample = new SampleModule.Sample("Wow");
            expect(sample.name).toEqual("Wow");
    });
});

...これにより、次のようになります。

テスト名:TypeScript1は簡単なテストに合格する必要がありますテスト結果:合格

テスト名:TypeScript2はサンプルテストに合格する必要がありますテスト結果:失敗したテスト期間:0:00:00

結果メッセージ:ReferenceError:変数が見つかりません:file:typescripthtmlapp1 / _Chutzpah.28.simple.jsのSampleModule(9行目)

追加:

/// <reference path="./Sample.ts" />

...テストが検出されませんでした。

私は何が欠けていますか?

4

3 に答える 3

3

問題は、テストの実行時に Javascript モジュール ローダー (require.js) が Chutzpah に含まれていないため、モジュールが読み込まれないため、エラーが発生することだと思います。

ここで変更リクエストを参照してください- どうやら解決策は、テストファイルに次のようなものを追加することです:

///<chutzpah_reference path="../scripts/require.js" />

しかし、修正はまだ利用できません

アップデート

この修正は Chutzpah バージョン 2.4 で利用できるはずです。

于 2013-03-07T21:50:50.253 に答える
0

Chutzpah は現在、AMD コードを生成する TypeScript ファイルをサポートしていません。数リリース前にこれを試してみましたが、TypeScript が出力を生成する方法に問題がありました。

将来のリリースでこれを再検討する予定であり、この作業の状態を追跡するためにこの項目をファイルします。

私の修正があなたのシナリオに正しく対応していることを確認できるように、その項目にアクセスしてサンプルの zip を添付していただけますか。

于 2013-05-17T16:58:16.787 に答える
0

ここでは、TypeScript - jasmine - Chutzpah - AMD - Visual Studio 2012 を使用した作業サンプルを見つけることができます: http://chrisseroka.wordpress.com/2014/02/23/javascripttypescript-unit-testing-11-sample-projects-for-resharper -chutzpah-and-カルマ/

于 2014-06-10T15:18:46.397 に答える