xUnit异步测试显示为"外部"在VS2015

时间:2015-08-04 01:42:20

标签: unit-testing async-await visual-studio-2015 asp.net-core xunit

我的所有异步xUnit测试都出现问题,在VS2015的测试资源管理器中显示为外部。它们仍将在测试资源管理器中调用Run All时运行,但由于它们被认为是外部的,因此几乎所有VS2015集成都不起作用,例如,导航(单击测试资源管理器进行测试)不起作用,上下文菜单中的运行/调试测试从不触发测试,测试状态图标不显示,代码镜头无法找到这些测试

异步测试使用以下模式:

    [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);
    }

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

关于如何解决这个问题或者这只是一个错误的任何建议?在这种情况下,它可能是xUnit测试运行器问题还是VS2015中的问题?

1 个答案:

答案 0 :(得分:0)

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

有关其他信息,请参阅以下github问题: