编写角度4 App的jasmine Karma测试用例的问题

时间:2018-05-09 07:29:57

标签: angular jasmine karma-jasmine

在为angular 4 app编写测试用例时,我们遇到了一些问题。

1)当他们有处理HTML标签的方法时,无法创建服务/组件的夹具Textbed对象。

(例如

overlayOn(){document.getElementById(“overlay”)。style.display =“block”; } overlayOff(){document.getElementById(“overlay”)。style.display =“none”; }

错误:无法设置未定义的样式。

2)模拟ViewChild(),EventEmitter(),@ Output()和@Input()元素时出现问题。

错误:无法设置undefined的属性。

基本上每当我们在类型脚本代码中处理html标签时,我们在编写测试用例时都会遇到错误。

如果有任何方法可以在测试用例中模拟或设置这些标记,请提供帮助。

1 个答案:

答案 0 :(得分:1)

尝试

对于HTML:

    <div id="overlay" style="display: none"></div>

js文件:

it('should not display id "overlay"', () => {
    let containerElement = fixture.debugElement.query(By.css('#overlay')).nativeElement.style.display;
    expect(containerElement).toBe('none');
})