![](/img/trans.png)
[英]Running QUnit (TypeScript) tests with Chutzpah gives “Called start() outside of a test context while already started”
[英]Running Jasmine tests in Typescript, with Chutzpah
我正在嘗試找出打字稿-茉莉花-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上運行測試,則輸出將為“ 0通過,0失敗,0總(chutzpah)”。 但是,如果我運行已編譯的testApp.js,它似乎可以正常工作“通過1次,失敗0次,總計1次(chutzpah)”。
1)為什么找不到.ts文件中的測試? 2)我應該用Typescript還是直接用JavaScript測試我的打字稿代碼編寫代碼?
有人可以幫我弄清楚這個簡單的測試設置並使它起作用嗎? 請注意,目前我不使用chutzpah.json。
如果您不使用chutzpah.json文件,它將無法使用。 請按照此示例查看如何使其正常工作。
當我閱讀文檔(或其他文章)時,很明顯chutzpah.json對於運行簡單測試是可選的,但是使其起作用的唯一方法是在項目的根目錄添加chutzpah.json,以下內容:
{
"Framework": "jasmine",
"References": [
{ "Path": "app.js" },
{ "Path": "scripts/jasmine/jasmine.js" }
],
"Tests": [
{ "Path": "scripts/tests/apptest.js" }
]
}
因此,對於任何將來的參考,都需要 chutzpah.json才能使chutzpah運行測試。 另外,請注意,測試文件中不再需要“ chutzpah_reference”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.