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
斷言之前調用下面的一段代碼