我试图找出typescript-jasmine-chutzpah组合最终将如何测试我的打字稿代码。所以我有一个示例项目(如图所示)。
我有一个包含以下内容的app.ts文件
class Calculator {
add = function(x:number, y:number) {
return x + y;
}
}
和测试文件appTest.ts
/// <reference path="../typings/jasmine/jasmine.d.ts" />
/// <reference path="../../app.ts" />
/// <chutzpah_reference path="../jasmine/jasmine.js" />
/// <chutzpah_reference path="../../app.js" />
describe("Test Calc", function () {
it("add function", function () {
var calc = new Calculator(),
res = calc.add(4, 7);
expect(res).toBe(11);
});
});
如果我在testApp.ts上运行测试,输出将是&#34; 0通过,0失败,0总计(chutzpah)。&#34;但如果我运行已编译的testApp.js它似乎工作正常&#34; 1通过,0失败,1总(chutzpah)。&#34;
1)为什么找不到.ts文件中的测试? 2)我应该测试我的打字稿代码在Typescript中编写代码还是直接用JavaScript编写?
有人可以帮我弄清楚这个简单的测试设置并使其有效吗? 请注意,目前我还没有使用chutzpah.json。
答案 0 :(得分:2)
如果您不使用chutzpah.json文件,它将无法正常工作。请follow this示例了解如何使其正常运行。
答案 1 :(得分:2)
当我阅读文档(或其他一些文章)时,很明显chutzpah.json是一个可选的简单测试运行,但唯一的方法是使其工作,就是在根部添加chutzpah.json具有以下内容的项目:
{
"Framework": "jasmine",
"References": [
{ "Path": "app.js" },
{ "Path": "scripts/jasmine/jasmine.js" }
],
"Tests": [
{ "Path": "scripts/tests/apptest.js" }
]
}
因此,对于任何将来的参考,chutzpah.json 必需,以便chutzpah运行测试。另请注意,测试文件中不再需要&#34; chutzpah_reference&#34;