【发布时间】:2019-01-28 11:21:03
【问题描述】:
要求:我需要为HTML element 的data-binding 属性编写单元测试。
这是代码:
<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>
我需要为resizable 属性值编写一个单元测试。
到目前为止我尝试了什么:
it('kendo-grid element should contain resizable attribute with "true" value', () => {
const element = fixture.debugElement.nativeElement.querySelector('kendo-grid');
expect(element.resizable).toBeTruthy();
});
运行 Karma 测试运行程序时失败。
任何帮助都将不胜感激。
【问题讨论】:
-
您是否尝试过获取这样的元素?
const element = fixture.debugElement.query(By.css('kendo-grid'));您将获得的DebugElement将具有properties属性,其中应该包含您的resizable属性。 -
@DanielWSrimpel 是的,我也尝试过,但没有成功。
-
您正在运行的究竟是什么规格文件?它是 kendo-grid 组件的单元测试还是它的父组件?
-
好的,我明白了。您将 kendo-grid 组件作为 UI 库中的子组件。但是为什么你需要为孩子测试呢?我想你有一个变量而不是简单的
true。你需要测试这个变量。
标签: angular unit-testing jasmine angular5 karma-jasmine