我有以下測驗:
Assert.AreEqual(descendants.Count(), 2);
當我單獨運行它時它總是通過但如果我與所有其他測驗一起運行它就會失敗。每次失敗都告訴我它期望期望值為 0 - 即使我的代碼明確告訴它期望值為 2:
訊息:Assert.AreEqual 失敗。預期:<0>。實際:<2>。
編輯 - 清楚后裔.Count() 總是像它應該的那樣回傳 2 。有時 Assert.AreEqual 試圖期望值 2,有時它期望值 0 - 即使我在我的陳述句中期望值 2。
這里發生了什么?
uj5u.com熱心網友回復:
埃里克。有一個關于 Assert.AreEqual Assert.AreEqual的鏈接
第一個引數-descendants.Count()-預期
第二個引數 - 實際 (2)
它應該以相反的方式,例如
Assert.AreEqual(2,descendants.Count());
uj5u.com熱心網友回復:
這可能是競爭條件嗎?當所需的輸出要求某些事件以特定順序發生但事件并不總是以該順序發生時,軟體或任何系統中的競爭條件就會發生。事件之間存在“競賽”,如果錯誤的事件獲勝,則程式失敗。通常發生在多執行緒應用程式中。
uj5u.com熱心網友回復:
我看到了這個問題。
- 是的,我的預期價值和實際價值倒退了。這引起了我的困惑。
- 之前的測驗是修改我的變數 db。我將類中的一個基礎欄位更改為靜態。在基礎欄位的值不存在之前。現在他們做到了。這是運行測驗的一個很好的理由 - 以確保我們所做的更改不會產生意外結果。
感謝你的幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/330639.html
