xUnit 异步测试在 VS2015 中显示为"External"



我在VS2015的测试资源管理器中显示为外部的所有异步xUnit测试都有问题。当在测试资源管理器中调用"全部运行"时,它们仍然会运行,但由于它们被认为是外部的,因此几乎所有VS2015集成都不起作用,例如导航(单击测试资源管理器中的"运行/调试测试")不起作用,上下文菜单中的"运行/调试测试"永远不会触发测试,测试状态图标不显示,Code Lens也找不到这些测试。

异步测试使用以下模式:

    [Fact]
    public async Task AsyncTestMethod()
    {
        // Arrange
        var sot = new Sot();
        var result = await sot.DoAsync();
        Assert.NotNull(result);
    }

更改测试以同步运行可以修复所有这些问题:

    [Fact]
    public void SyncTestMethod()
    {
        // Arrange
        var sot = new Sot();
        var result = sot.DoAsync().Result;
        Assert.NotNull(result);
    }

我正在运行RTM版本的VS2015,并在我的项目中安装了xunit.runnet.aspnet 2.0.0-aspnet-beta6包。

有什么建议可以解决这个问题,或者这只是一个bug?在这种情况下,它可能是xUnit测试运行器问题还是VS2015中的问题?

此错误已在ASP中确认并修复。. NET 5 beta7版本。

有关更多信息,请参阅以下github问题:

  • https://github.com/aspnet/Tooling/issues/130
  • https://github.com/aspnet/Testing/issues/86

相关内容

  • 没有找到相关文章

最新更新