我正在使用 Jasmine 為 Angular 13 專案撰寫單元測驗用例。有一個測驗用例有時通過有時失敗。我認為這是由于測驗執行的順序而發生的。知道如何處理嗎?
畢竟拋出了一個錯誤
uj5u.com熱心網友回復:
默認情況下,測驗每次都以隨機順序運行。有一個種子值,以便您可以重新創建訂單。您可以在此答案中閱讀如何處理該問題。
一旦你每次執行失敗的地方,你就會很容易知道以下任何一項是否真的解決了你的問題。
您還可以檢查您訂閱的任何地方 - 每次訂閱測驗時,您都需要確保它在測驗結束時取消訂閱。為此,您可以放置.pipe(take(1))??或捕獲訂閱物件并對其呼叫取消訂閱。
const sub = someService.callObservable().subscribe();
// verify what you need to
sub.unsubscribe();
要查看的第三個概念 - 您在 beforeEach 上方定義的任何變數都應在 beforeEach 中設定為新值。否則,您將在測驗之間重用相同的物件,這可能會導致問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/528201.html
上一篇:EFCore:是否可以跟蹤對新創建并添加到DbContext條目的屬性所做的更改?我不是要EntryState.Added
