我已經寫了幾個測試,非常相同,但只有一種方式不同。一個測試有一個國際地址和其他擁有國內地址:DomesticAddress
.scala & InternationalAddress
.scalaTestNG @Test中可能出現競態條件嗎?
DomesticAddress
.scala擴展了另一個類ShipMethods
.scala具有@Test
方法。在這裏,我正在驗證DomesticAddress
.scala存在有效的運輸方式。 InternationalAddress
.scala不不延長ShipMethods
.scala。
兩種測試類(DomesticAddress
.scala和InternationalAddress
.scala)具有不同的用戶;唯一的相似之處是該地址存儲在名爲「地址」的val中。
當我運行這兩個測試一些時間(只有一些次)的測試DomesticAddress
.scala失敗,因爲我在那裏看到一個國際地址。
是否有可能有一個競爭條件在這種情況下發生?我的testng xml保留了測試的順序,所以這更讓人困惑,因爲我不會在測試中共享任何資源,所以可能會出現競爭狀況。
讓我們從一個明顯的問題開始:您是否在平行運行測試? (如果您不確定,請在每個頁面中打印線索ID) –