使用Chutzpah在Typescript中运行Jasmine测试

时间:2016-04-14 11:57:42

标签: javascript typescript visual-studio-2015 jasmine chutzpah

我试图找出typescript-jasmine-chutzpah组合最终将如何测试我的打字稿代码。所以我有一个示例项目(如图所示)。

enter image description here

我有一个包含以下内容的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。

2 个答案:

答案 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;