我在.net迴歸測試中遇到了一個非常奇怪的問題。當我運行完整的測試套裝時,我有一種測試方法失敗,但是單獨運行時通過相同的測試方法。測試方法在測試套件中失敗,但單獨通過.net C#
背後有什麼可能的原因。我再次檢查了其他測試方法對其沒有影響。測試方法使用Web服務來獲取一些數據,我不知道爲什麼它在套件中運行時會得到不正確的數據。
有人曾經遇到類似的情況。
我在.net迴歸測試中遇到了一個非常奇怪的問題。當我運行完整的測試套裝時,我有一種測試方法失敗,但是單獨運行時通過相同的測試方法。測試方法在測試套件中失敗,但單獨通過.net C#
背後有什麼可能的原因。我再次檢查了其他測試方法對其沒有影響。測試方法使用Web服務來獲取一些數據,我不知道爲什麼它在套件中運行時會得到不正確的數據。
有人曾經遇到類似的情況。
我在.net迴歸測試中遇到了一個很奇怪的問題。當我運行完整的測試套裝時,我有一種測試方法失敗,但是單獨運行時通過相同的測試方法。
我以前也遇到過類似的事情,通常具有做:
[testmethod]
和一個3210,該類將被實例化一次,之後將調用所有的方法。如果你在班上使用狀態,事情可能會被打破。在所有情況下,找出發生的最簡單的方法可能是在調用服務之前放置一個斷點。
我也遇到了同樣的問題,它不只是微軟框架獨家。我也在NUnit中看到過這個。對我而言(最常見的情況)是你在多次測試中訪問同一個項目,以至於它的狀態不像你作爲一個組運行時期望的那樣。開始時很難發現,但如果你在寫測試的時候想到任何測試應該能夠在任何時候運行,幾乎在任何情況下都應該是好的。
爲了幫助追查問題是什麼嘗試斷言你假設的狀態是事實(如Id == 1或Name == null或IsConnected == false),如果你能得到它在你開始之前就失敗了,你可以確定這與狀態有關。
你很可能有某種測試污染。檢查您創建的全局狀態,以確保在運行測試之前將其重置爲所需的狀態。
使用大量的日誌記錄來獲取它的來源:)
有什麼消息測試失敗?您是否嘗試過調試測試? –
這裏最可能的原因是,在這個特定測試之前運行的一些測試有副作用,會以某種方式影響您的失敗測試。 –
@raderick我如何確保這不會發生。任何想法或建議:) –