我們正在使用 XUNit 2.4 并設定了以下測驗,這些測驗都在同一個類中,所以 Xunit 應該按順序運行它們。Theory 和 InlineData 屬性的存在是否會導致這些測驗并行運行。IE 測驗運行器將運行所有 InlineData 屬性以并行進行 1 次測驗?
[Theory]
[Trait("Category", "Acceptance")]
[InlineData(1, 0.0000)]
[InlineData(1, 0.9900)]
[InlineData(1, 1.9900)]
[InlineData(3, 0.9900)]
[InlineData(4, 29.9900)]
[InlineData(5, 2)]
public async Task ShouldReturnNewPrice(int packagePriceQuantity, decimal retailPrice)
{
}
[Theory]
[Trait("Category", "Acceptance")]
[InlineData(1, 0.0000)]
[InlineData(1, 0.9900)]
[InlineData(1, 1.9900)]
[InlineData(3, 0.9900)]
[InlineData(4, 29.9900)]
[InlineData(5, 2)]
public async Task ShouldReturnDiscount(int
packagePriceQuantity,十進制零售價格){}
uj5u.com熱心網友回復:
上述測驗永遠不會并行運行;每個測驗類在任何時候只運行一個測驗用例。(在測驗類和程式集級別有并行運行設施;這些設定允許您選擇加入或退出 - 對于這個問題,重要的因素是只要您在同一個測驗類上擁有兩種測驗方法,它們不會也不能并行化)
對于單個理論測驗中的個別案例,順序不是隨機的;它們按順序運行。排序由反射 API 產生InlineData屬性的順序定義。這通常與源代碼中的順序一致,但這只是巧合,如果它確實有效(在 IL/元資料級別應用于代碼中的某些內容的屬性沒有嚴格的順序)。(如果您希望/需要以隨機順序運行案例,則需要以隨機順序MemberData提供資料)
如果您請求運行完整的測驗類,則各個測驗方法 ( ShouldReturnNewPrice, ShouldReturnDiscount ) 將以隨機順序運行。(有一種方法可以覆寫這種行為,但隨機化是一個重要的故意默認值)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/405350.html
標籤:
上一篇:如何在GitHub操作中訪問GitHub存盤庫的根目錄?
下一篇:如何離線使用webrtc
