Angular 5:如何为数据绑定属性编写Jasmine单元测试

Roh*_*dal 12 unit-testing jasmine karma-jasmine angular angular5

要求:我需要为data-binding属性编写单元测试HTML element.

这是代码:

<kendo-grid
            [kendoGridBinding]="gridData"
            [resizable]="true"
            style="height: 300px">
            <kendo-grid-column
                field="UnitPrice"
                title="Unit Price"
                [width]="180"
                filter="numeric"
                format="{0:c}">
            </kendo-grid-column>
</kendo-grid> 
Run Code Online (Sandbox Code Playgroud)

我需要为resizable属性值编写单元测试.

到目前为止我尝试了什么:

  it('kendo-grid element should contain resizable attribute with "true" value', () => {
    const element = fixture.debugElement.nativeElement.querySelector('kendo-grid');
    expect(element.resizable).toBeTruthy();
  });
Run Code Online (Sandbox Code Playgroud)

在运行Karma测试运行器时失败了.

在此输入图像描述

任何帮助都会非常值得一提.

Oka*_*kan 9

这些属性在浏览器中转换为ng-reflect- {attributeName},因此茉莉花需要寻找该属性。下面的测试应该工作。

 it('kendo-grid element should contain resizable attribute with "true" value', () => {
    const element = fixture.debugElement.query(By.css('kendo-grid'));
    expect(element.nativeElement.getAttribute('ng-reflect-resizable')).toBe('true');
  });
Run Code Online (Sandbox Code Playgroud)