0
我正在为Jasmine编写Angular2的单元测试。如何编写茉莉花测试
这里是我的代码片段:
component.ts
toggleSelect() {
this.checked = event.target.checked
this.tree.forEach(t => {
t.checked = this.checked
})
}
我正在为Jasmine编写Angular2的单元测试。如何编写茉莉花测试
这里是我的代码片段:
component.ts
toggleSelect() {
this.checked = event.target.checked
this.tree.forEach(t => {
t.checked = this.checked
})
}
错误消息 “预期真实是假的。”意味着茉莉花期望变量的值是错误的,但实际值是真实的。
从上面的代码段,下面的代码块
component.tree.forEach(t => {
expect(t.checked).toBe(false);
});
在检查标志预期是假的做的断言此错误时才有可能,但这是真的。
从提供的代码中,我认为这是下面一行代码(在测试中)的结果。
component.toggleSelect(event);
传递的事件的检查值为true。当使用事件对象调用toggleSelect时,树数组中每个条目的选中值都设置为true。由此,代码块
component.tree.forEach(t => {
expect(t.checked).toBe(true);
});
所代表的第一个断言成功。
但是下面这个说法,你是不是叫
component.toggleSelect(event);
与事件对象,其选中的值是假的。
这会导致树的以前的状态被保留。
要解决你的测试,所有你需要做的是失败的
event.target.checked = false; // Set the checked value to false
component.toggleSelect(event); // Call toggle select with the updated event
断言之前调用下面的一段代码