2015-11-30 24 views
0

我使用Visual Studio 2015年最終,我寫了一些單元測試(我用的xUnit 2.1.0.3179,它允許此簽名):異步單元測試是不可見在Visual Studio

public async Task MyTest() 

,而不是標準單位測試簽名

public void MyTest() 

但這些單元測試在Visual Studio(代碼鏡頭)和Test Explorer中不可見。當然,我重建沒有任何錯誤:)

enter image description here

是否有可能有一個像標準特徵試驗相同功能的解決方案?也許有任何VS擴展?

+0

這是測試[萬一在ASP.NET]運行(http://stackoverflow.com/questions/31799380/xunit-async-tests-shows-up-as-external-in-vs2015) ? –

+0

我認爲xUnit測試根本無法訪問CodeLens,因此在CodeLens中沒有提及它們,或者我誤會了嗎? – netchkin

回答

1

我非常確定您可能已經找到了解決方案,但我在嘗試修復異步單元測試時發現了您的問題。 (注意:我正在使用最新的Visual Studio 2015 Update 3)。

[TestMethod] 
    public async Task GetVendors_ByRegionId_ReturnFilteredVendors() 
    { 
     // Arrange 
     var optionsBuilder = new DbContextOptionsBuilder(); 
     optionsBuilder.UseSqlServer("Server=server12345;Database=DB789;Trusted_Connection=True;MultipleActiveResultSets=true"); 
     var ctx = new ApplicationDbContext(optionsBuilder.Options); 
     ILoggerFactory logFac = new LoggerFactory(); 
     ILogger<VendorRepository> loggerRepository = new Logger<VendorRepository>(logFac); 
     IVendorRepository vendRepo = new VendorRepository(ctx, loggerRepository); 

     // Act 
     Task<List<Vendor>> resultTask = vendRepo.GetVendors(1); 
     IList<Vendor> vendorList = await resultTask; 

     // Assert 
     Assert.IsNotNull(vendorList); 
     Assert.IsTrue(vendorList.Count > 10); 
    } 
+1

OP使用xUnit,您正在使用內置的單元測試系統。 –