【发布时间】:2018-09-01 12:28:01
【问题描述】:
我正在使用 Angular 6.1.6,对 Karma 来说真的很陌生。当我运行ng test 时,
结果显示了一些元素 (please see screenshot here)。我可以将它们隐藏/从我的测试结果中删除吗?
谢谢。
【问题讨论】:
标签: unit-testing jasmine karma-runner
我正在使用 Angular 6.1.6,对 Karma 来说真的很陌生。当我运行ng test 时,
结果显示了一些元素 (please see screenshot here)。我可以将它们隐藏/从我的测试结果中删除吗?
谢谢。
【问题讨论】:
标签: unit-testing jasmine karma-runner
我得到了另一个答案。
把它放在 beforeEach 函数中效果很好
fixture.debugElement.nativeElement.style.visibility = "hidden";
并且在测试时它会隐藏闪烁的组件。
【讨论】:
fixture.nativeElement.style.visibility = 'hidden'; 就够了
看起来您的测试是直接向 dom 添加东西,这是非标准的(尽管在某些情况下这是个好主意)。通常,您的测试不应将任何 dom 附加到文档对象(例如,通过调用 document.querySelector('#foo').appendChild(...)。如果您创建 dom 元素,则应避免将它们附加到文档。
如果您确实将 dom 元素附加到文档,删除它们的最简单方法是在 describe 规范中的 afterEach 块中,如下所示:
afterEach(() => document.querySelector('#my-element').remove());
【讨论】: