我有一些遗留代码我想开始进行单元测试。它是这样一个类:
export class Controller {
private something: any;
constructor() { this.something = true; }
public getSomething(): any { return this.something; }
}
尝试使用Mocha进行单元测试:
import Controller from '../../src/Controller';
describe('Controller', () => {
let subject: any;
beforeEach( () => {
subject = new Controller(); // compiler complains here
});
describe('getOptions()', () => {
it('should get something', () => {
let result: any = subject.getOptions();
if (typeof result !== 'object') {
throw new Error('Expected object but got ' + result);
}
});
});
});
编译抱怨:
[ts]不能使用' new'表达式类型缺少调用或 构建签名。
如何获取Controller
类的实例来运行测试?
答案 0 :(得分:3)
它不起作用,因为您尝试将控制器导入为默认导出,而不是
。尝试:
import {Controller} from '../../src/Controller';
或:
export default class Controller {
您可以在MDN页面here上详细了解有关导入的信息。