簡體   English   中英

無法在Visual Studio中並行運行XUnit測試

[英]Unable to run tests with XUnit in parallel in Visual Studio

我有兩個類TestClass1,TestClass2

我在測試項目的AssemblyInfo.cs文件中通過匯編設置了MaxParallel線程:
[assembly:Xunit.CollectionBehaviorAttribute(MaxParallelThreads = 4)]
參考 設置最大並行線程

我已經安裝了xunit-2.0.0-beta4-build2738(Prerelease)。 還安裝了Xunit runner來查找測試。

根據我的知識和研究,Xunit並沒有在同一個集合中並行運行測試。 參考 使用xUnit.net v2中的測試集合,這就是為什么對於下面的兩個類我使用了不同的集合。

Visual Studio 2013找到我的測試,但是當我運行所有測試時,它仍然會連續運行測試。 我希望他們並行運行。

如果有人可以提供幫助那就太棒了!

我的代碼如下:
Namespace1

namespace name1
{
   public class MFixture
   {

   }

   [CollectionDefinition("Test1")]
   public class CollectionClass : ICollectionFixture<MFixture>
   {

   }

   [Collection("Test1")]
   public class TestClass1
   {
      // variables
      public TestClass1()
      {
         //code
      }

      [Fact]
      public void method1()
      {
          //code
      }

      [Fact]
      public void method2()
      {
        //code
      }
   }
}

Namespace2

namespace name2
{
   public class MFixture1
   {

   }

   [CollectionDefinition("Test2")]
   public class CollectionClass1 : ICollectionFixture<MFixture1>
   {

   }

   [Collection("Test2")]
   public class TestClass2
   {
      // variables
      public TestClass2()
      {
         //code
      }

      [Fact]
      public void method12()
      {
        //code
      }

      [Fact]
      public void method22(){
      {
         //code
      }
   }
}

其他參考
如何與xUnit並行運行Selenium測試
XUnit.net屬性
XUnit.net問題

似乎Visual Studio不支持並行運行測試。 我沒有使用您詢問的確切版本進行測試,但發現了其他評論 如建議的那樣 ,從命令行運行應該可行。

對我來說,我使用VS2015,dnx 1.0.0-rc1-final,xunit 2.1.0,xunit.runner.dnx 2.1.0-rc1-build204並且可以確認VS Test Explorer是愚蠢的。

根據文件

默認情況下,每個測試類都是一個唯一的測試集合。

因此,考慮到這些人為的“測試”,應該很容易看出它們是否並行運行:

圖片

視覺工作室:

圖片

命令行:

圖片

在xUnit中,每個測試類都是一個獨特的測試集合。 同一測試類中的測試不會相互並行運行。

因此,為了實現這一點,您需要將測試保存在不同的集合中(您希望並行運行),但這不是解決問題的有效方法。

我根據我的知識和我在互聯網上獲得的內容回答了這個問題,你也可以參考這個鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM