【问题标题】:C# XUnit Assert.Equal failing when comparing var and int比较 var 和 int 时 C# XUnit Assert.Equal 失败
【发布时间】:2017-02-27 06:28:49
【问题描述】:

我有这个测试代码的sn-p:

public void Test () {
    var expected = 10;
    int actual = 10;
    Assert.Equal(expected, actual);    //Failing
}

我了解 C#s var 是隐式类型的,因此在编译时它被识别为 int;它们都应该是 Int32。不是比较值吗?

我还读到Equal 方法比较对象;这会影响它比较两种原始类型的方式吗?

【问题讨论】:

    标签: c# unit-testing assert xunit.net


    【解决方案1】:

    它可以在我的机器上运行 :)

    但是你在你的例子中错过了[Fact]注解,是不是搞错了?

    【讨论】:

    • 在我的程序里,我只是在这个帖子里没有提到它,谢谢!
    【解决方案2】:

    是的,应该是比较值,它们都应该是ints。

    各种Equal重载should be in here的impl。

    如果您在本地克隆 Asserts Lib(或我为其提供子模块链接的源代码库),您可以单步执行 impl(或在 Tools|Options 中关闭 Just My Code - 很确定 xUnit 的符号已发布在某处) .

    【讨论】:

      猜你喜欢
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多