在我尝试设置测试的组件中,模板使用了一些第三方模块,例如ng2-bootstrap模块alertModule
或dropDownModule
。
它们与我尝试为此特定组件设置的测试无关。但如果我不包含它们,我的测试就会失败,因为html由于未知的指令而无法编译等等。
有没有办法创造虚假"空"要导入的模块,甚至更好地不关心它们并使Angular忽略第三方模块所以我不必将它们包含在testBed中(它们不会被渲染)在模板上但我不在乎这里,因为我的测试不涉及它们。
答案 0 :(得分:1)
如果有一些组件您不需要声明,您可以模拟它们或使用错误中建议的NO_ERRORS_SCHEMA
和角度文档,如下所示:
beforeEach( async(() => {
TestBed.configureTestingModule({
declarations: [ AppComponent, RouterLinkStubDirective ],
schemas: [ NO_ERRORS_SCHEMA ]
})
查看https://angular.io/docs/ts/latest/guide/testing.html#!#shallow-component-test了解更多信息:)