【问题标题】:Running Jasmine tests in Typescript, with Chutzpah使用 Chutzpah 在 Typescript 中运行 Jasmine 测试
【发布时间】:2016-08-05 23:08:10
【问题描述】:

我试图弄清楚 typescript-jasmine-chutzpah 组合最终将如何测试我的 typescript 代码。所以我有一个示例项目(如图所示)。

我有一个 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 测试我的 typescript 代码?

有人可以帮我弄清楚这个简单的测试设置并让它发挥作用吗? 请注意,我目前不使用 chutzpah.json。

【问题讨论】:

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


    【解决方案1】:

    当我阅读文档(或其他一些文章)时,很明显 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”。

    【讨论】:

    • 过去是可选的,但从第 3 版开始是必需的。
    【解决方案2】:

    如果您不使用 chutzpah.json 文件,它将无法工作。请follow thisexample 看看如何让它正常工作。

    【讨论】:

    • 我发现这很困难。请在文档中明确说明。非常感谢您的麻烦:)
    猜你喜欢
    • 2016-05-28
    • 2013-11-27
    • 2017-06-21
    • 1970-01-01
    • 2017-01-30
    • 2016-07-18
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多