1

我无法使用 jasmine/Chutzpah 在 VS 中测试 TypeScript 以与 AMD 一起工作。

示例.ts:

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

简单的.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:找不到变量:文件中的 SampleModule:typescripthtmlapp1/_Chutzpah.28.simple.js(第 9 行)

添加:

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

...导致未检测到测试。

我错过了什么?

4

3 回答 3

3

我认为问题在于运行测试时 Chutzpah 不包含 Javascript 模块加载器(require.js),因此模块没有加载 - 因此出现错误。

请参阅此处的更改请求- 显然解决方案是在测试文件中添加类似这样的内容:

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

但该修复程序尚不可用

更新

Chutzpah 版本 2.4 中应该提供该修复程序。

于 2013-03-07T21:50:50.253 回答
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-karma/

于 2014-06-10T15:18:46.397 回答
0

Chutzpah 目前不支持生成 AMD 代码的 TypeScript 文件。我在几个版本前尝试过这个,但遇到了 TypeScript 如何生成其输出的问题。

我计划在未来的版本中重新审视这一点,并将此项目归档以跟踪这项工作的状态。

您能否访问该项目并附上示例的 zip,以便我可以确定我的修复正确地解决了您的情况。

于 2013-05-17T16:58:16.787 回答