使用TestBed.CompileComponents()。then()

时间:2019-08-08 13:32:31

标签: angular unit-testing promise jasmine

我设置了一个测试平台,以验证是否已定义我的模块。

describe('MyModule', () => {
    beforeEach(async(() => {
        TestBed.configureTestingModule({
            imports: [MyModule]
        }).compileComponents();
    }));

    it('should be defined', () => {
        expect(MyModule).toBeDefined();
    });
});

我的代码样式工具SonarQube要求我在.then()行中添加.compileComponents()语句,因为返回的承诺未使用。

将其保留为原样,忽略样式工具还是添加诸如.then(() => { /* empty */ })之类的空语句会更好吗?

我倾向于忽略该工具,但想知道哪种方法更适合已发布的Angular样式文档。

1 个答案:

答案 0 :(得分:1)

首先,您的代码看起来很破损,应该是:

beforeEach(async () => {
    TestBed.configureTestingModule({
        imports: [MyModule]
    }).compileComponents();
});

那将不再触发SQ。但是,如果您不使用异步,则可以使用空的.then(),这是一种正确的方法。