断言无法被XUnit识别

时间:2016-01-18 13:05:45

标签: c# xunit xunit.net

我想从MSTest迁移到XUnit并安装以下VS扩展

enter image description here

我可以写成功并成功运行我的测试,但出于某种原因Assert无法识别

enter image description here

2 个答案:

答案 0 :(得分:1)

我没有安装任何XUnit扩展程序。相反,我将这些软件包从NuGet安装到我的测试库中。

  • xunit
  • xunit.runner.visualstudio

,并提供:

enter image description here

还有一个package.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="xunit" version="2.1.0" targetFramework="net451" />
  <package id="xunit.abstractions" version="2.0.0" targetFramework="net451" />
  <package id="xunit.assert" version="2.1.0" targetFramework="net451" />
  <package id="xunit.core" version="2.1.0" targetFramework="net451" />
  <package id="xunit.extensibility.core" version="2.1.0" targetFramework="net451" />
  <package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net451" />
  <package id="xunit.runner.visualstudio" version="2.1.0" targetFramework="net451" />
</packages>

然后我创建了一个类:

using Xunit;

public class FunFacts
{
    [Fact]
    public void PassingTest()
    {
        Assert.Equal(4, Add(2, 2));
    }

    [Fact]
    public void FailingTest()
    {
        Assert.Equal(5, Add(2, 2));
    }

    int Add(int x, int y)
    {
        return x + y;
    }
}

然后测试通过并按预期失败。

XUnit - Getting Started Page获取的步骤。

答案 1 :(得分:0)

我遵循了所提供的评论和答案中提供的所有建议,并确保完成以下操作

  • 已安装xunit nuget包
  • 已安装xunit.runner.visualstudio
  • 添加了xunit库的using语句

我注意到nuget软件包没有提供最新版本,因此我更新了解决该问题的最新版本。