简体   繁体   English

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

[英]Async unit tests are not visible in Visual Studio

I use Visual Studio 2015 Ultimate, I wrote some unit test (I use xUnit 2.1.0.3179, it allow for this signature): 我使用Visual Studio 2015 Ultimate,我编写了一些单元测试(我使用xUnit 2.1.0.3179,它允许此签名):

public async Task MyTest()

instead of standard unit test signature 代替标准的单元测试签名

public void MyTest()

but these unit tests are not visible in Visual Studio (code lens) and in Test Explorer. 但是这些单元测试在Visual Studio(代码镜头)和“测试资源管理器”中不可见。 Of course I rebuild solution without any error :) 当然我重建解决方案没有任何错误:)

在此处输入图片说明

Is there any possibility to have the same feature like tests with standard signature? 是否有可能具有与具有标准签名的测试相同的功能? Maybe there is any VS extension? 也许有VS扩展?

I'm pretty sure that you might've found a solution for this already, but I found your question while I was trying to fix my async unit test. 我很确定您可能已经找到了解决方案,但是在尝试修复异步单元测试时发现了您的问题。 (Note: I'm using the latest Visual Studio 2015 Update 3). (注意:我正在使用最新的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);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM