我有一个顶级模块AppModule
的Angular(4.x)应用程序,它声明了几个自定义组件,因此它们可以在模板中使用。规范文件中的组件声明,而不是将顶级模块加载到TestBed
然而,对于茉莉/人缘测试最常用的方法似乎是使用BrowserDynamicTestingModule
并在beforeEach
声明任何所需的自定义组件,例如:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyComponent, SomeDependedUponComponent ]
})
.compileComponents();
}));
考虑我们无论如何模拟的主要应用程序的环境,为什么是不是只用AppModule
初始化testBed,所以每个自定义组件都可用于所有测试?喜欢的东西:
getTestBed().initTestEnvironment(
[BrowserDynamicTestingModule, AppModule],
platformBrowserDynamicTesting()
);
如果我不是失去了一些东西,这是非常接近的主要应用程序的安装,甚至降低了个体的投机/测试文件的样板代码。 Orre有什么缺点,比如性能损失?
*考虑到我们正在模拟主应用程序的环境* - 我们当然不是。 – estus