测试时 TypeScript+Jasmine class 在模块定义内
TypeScript+Jasmine when tested class is within module definition
当要测试的 class 位于模块定义内时,我无法弄清楚如何在 TypeScript 中编写 Jasmine 测试。此设置工作正常:
Calculator.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;
}
}
}
我尝试了几十种不同的方法,但都以失败告终。请大家帮忙!
在与测试相同的目录中添加一个 Chutzpah.json 文件:
{
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ],
"SourceDirectory": "../",
"OutDirectory": "../"
}
}
然后删除:
import Calculator = require("../NancyApplication506/app/Calculator");
当要测试的 class 位于模块定义内时,我无法弄清楚如何在 TypeScript 中编写 Jasmine 测试。此设置工作正常:
Calculator.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;
}
}
}
我尝试了几十种不同的方法,但都以失败告终。请大家帮忙!
在与测试相同的目录中添加一个 Chutzpah.json 文件:
{
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ],
"SourceDirectory": "../",
"OutDirectory": "../"
}
}
然后删除:
import Calculator = require("../NancyApplication506/app/Calculator");