我试图在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
的必要定义。我认为包括参考路径会有所帮助,但显然没有。
如何让单元测试了解课程?
答案 0 :(得分:1)
我认为包含参考路径会有所帮助,但显然没有。
export class ClassC
然后使用import
语句而不是reference
条评论。还使用编译器标志--module commonjs
进行编译。
更多:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1和http://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html