如何使用Typescript单元测试在Visual Studio中测试Typescript?

时间:2015-07-15 20:01:12

标签: visual-studio unit-testing typescript

我试图在Typescript中编写一个单元测试来测试一个Typescript类,但是当测试运行时,它对该类没有任何了解。

我使用了与Visual Studio(2013)的Node Tools一起使用Typescript(1.4),测试资源管理器中出现了测试。运行时失败,参数错误:未定义ClassC。"

I级测试:

class ClassC {
    functionF() {
        return 42;
    }
}

生成的Javascript:

var ClassC = (function () {
    function ClassC() {
    }
    ClassC.prototype.functionF = function () {
        return 42;
    };
    return ClassC;
})();
//# sourceMappingURL=ClassC.js.map

测试(根据模板Add - > new Item ... - > TypeScript UnitTest文件创建):

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

import assert = require('assert');

export function classCTest() {
    var foo: ClassC = new ClassC();

    var result: number = foo.functionF();
    assert.equal(result, 42);
}

生成的Javascript:

var assert = require('assert');
function classCTest() {
    var foo = new ClassC();
    var result = foo.functionF();
    assert.equal(result, 42);
}
exports.classCTest = classCTest;
//# sourceMappingURL=ClassC_tests.js.map

当查看生成的Javascript进行测试时,很明显错误发生的原因。它不包含ClassC的必要定义。我认为包括参考路径会有所帮助,但显然没有。

如何让单元测试了解课程?

1 个答案:

答案 0 :(得分:1)

  

我认为包含参考路径会有所帮助,但显然没有。

export class ClassC然后使用import语句而不是reference条评论。还使用编译器标志--module commonjs进行编译。

更多:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1http://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html