我有一些遗留代码想要开始单元测试。这是一个像这样的类:
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] Cannot use 'new' with an expression whose type lacks a call or construct signature.
如何获取 Controller
类的实例来运行测试?
最佳答案
它不起作用,因为您试图将 Controller 导入为默认导出,但它却没有。
尝试:
import {Controller} from '../../src/Controller';
或者:
export default class Controller {
您可以在 MDN 页面 here 上阅读有关导入的更多信息。 .
关于unit-testing - 获取 TypeScript 类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41020998/