当测试具有子组件的组件时,您有几个选项:
- 导入设置组件和子组件的模块。问题是您实例化真正的子组件及其依赖项。
- 模拟子组件。这可能很乏味,具体取决于它有多少子组件。
- Use
NO_ERRORS_SCHEMA
并忽略子组件。
鉴于大多数时候您只关心当前组件,为什么不呢NO_ERRORS_SCHEMA
在测试教程、博客文章等中给予更多关注?
我知道它被标记为实验性的,但我并没有为此烦恼
- 它与 Angular 的其余部分一起提供,并且
- 鉴于其历史和即将到来的发布周期,整个 Angular 堆栈几乎都是实验性的。
那么有没有问题NO_ERRORS_SCHEMA
?还是只是碰巧没有得到更多的推广?
我同意@jonsharpe 的评估,你隐藏了any当您使用 NO_ERROR_SCHEMA 时,模板错误可能会掩盖架构错误。
导入模块的替代方法TestBed
导致依赖树地狱。
还有第三种选择浅渲染 https://github.com/getsaf/shallow-render这将自动模拟您的依赖关系树,以便您通过一行测试设置获得类型安全、模板安全和依赖关系树解析。
完全公开,我是浅层渲染的作者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)