获取TypeScript类的实例?

时间:2016-12-07 15:11:50

标签: unit-testing typescript

我有一些遗留代码我想开始进行单元测试。它是这样一个类:

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类的实例来运行测试?

1 个答案:

答案 0 :(得分:3)

它不起作用,因为您尝试将控制器导入为默认导出,而不是

尝试:

import {Controller} from '../../src/Controller';

或:

export default class Controller {

您可以在MDN页面here上详细了解有关导入的信息。