比较var和int

时间:2017-02-27 06:28:49

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

我有一段测试代码:

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

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

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

2 个答案:

答案 0 :(得分:2)

它适用于我的机器:)

但你错过了你的例子中的[Fact]注释,这是错误的吗?

答案 1 :(得分:1)

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

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

如果您在本地克隆Asserts Lib(或我提供了子模块链接的源代码库),您可以单步执行impl(或关闭工具|选项中的Just My Code - 非常确定xUnit的符号是在某处发布的)