【问题标题】:TypeScript+Jasmine when tested class is within module definition当测试的类在模块定义中时,TypeScript+Jasmine
【发布时间】:2015-12-05 14:47:14
【问题描述】:

当要测试的类在模块定义中时,我无法弄清楚如何在 TypeScript 中编写 Jasmine 测试。此设置工作正常:

计算器.ts:

export class Calculator {
    add(x: number, y: number): number {
        return x + y;
    }
}

CalculatorTest.ts:

///<reference path="scripts/typings/jasmine/jasmine.d.ts"/>
///<reference path="../NancyApplication506/app/Calculator.ts"/>
import Calculator = require("../NancyApplication506/app/Calculator");

describe("Calculator tests", () => {
    var calculator: Calculator.Calculator;

    beforeEach(() => {
        calculator = new Calculator.Calculator();
    });
    it("should be able to add", () => {
        expect(calculator.add(21,21)).toBe(42);
    });
});

但是,当我像这样更改 Calculator.ts 时,我一直无法弄清楚如何编写我的测试。

module SomeModuleName {
    export class Calculator {
        add(x: number, y: number): number {
            return x + y;
        }
    }
}

我尝试了几十种不同的方法,都导致完全失败。请大家帮忙!

【问题讨论】:

    标签: unit-testing typescript jasmine amd chutzpah


    【解决方案1】:

    在与测试相同的目录中添加一个 Chutzpah.json 文件:

    {
        "Compile": {
            "Mode": "External",
            "Extensions": [ ".ts" ],
            "ExtensionsWithNoOutput": [ ".d.ts" ],
            "SourceDirectory": "../",
            "OutDirectory": "../"
        }
    }
    

    然后删除:

    import Calculator = require("../NancyApplication506/app/Calculator");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 2017-11-22
      • 1970-01-01
      • 2013-12-20
      • 2021-10-27
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      相关资源
      最近更新 更多