异步单元测试在Visual Studio中不可见

时间:2015-11-30 15:25:48

标签: c# .net visual-studio unit-testing xunit

我使用Visual Studio 2015 Ultimate,我写了一些单元测试(我使用xUnit 2.1.0.3179,它允许这个签名):

public async Task MyTest()

代替标准单元测试签名

public void MyTest()

但是这些单元测试在Visual Studio(代码镜头)和测试资源管理器中不可见。当然,我重建解决方案没有任何错误:)

enter image description here

是否有可能拥有与标准签名测试相同的功能?也许有任何VS扩展?

1 个答案:

答案 0 :(得分: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);
    }