C# XUnit Assert.Equal 比较 var 和 int 时失败
C# XUnit Assert.Equal failing when comparing var and int
我有这段测试代码:
public void Test () {
var expected = 10;
int actual = 10;
Assert.Equal(expected, actual); //Failing
}
我理解 C# 的 var 是隐式类型的,所以在编译时它被识别为一个 int;它们都应该是 Int32。不会是比较值吧?
我还读到 Equal
方法比较对象;这会影响它比较两种原始类型的方式吗?
它在我的机器上工作:)
但是您在示例中错过了 [Fact]
注释,这是错误的吗?
是的,应该是比较值,应该都是int
s。
各种 Equal
重载的实现 should be in here。
如果您在本地克隆断言库(或我为其提供子模块 link 的源代码库),您可以单步执行 impl(或在工具|选项中关闭“仅我的代码”- 很确定xUnit 的符号在某处发布)。
我有这段测试代码:
public void Test () {
var expected = 10;
int actual = 10;
Assert.Equal(expected, actual); //Failing
}
我理解 C# 的 var 是隐式类型的,所以在编译时它被识别为一个 int;它们都应该是 Int32。不会是比较值吧?
我还读到 Equal
方法比较对象;这会影响它比较两种原始类型的方式吗?
它在我的机器上工作:)
但是您在示例中错过了 [Fact]
注释,这是错误的吗?
是的,应该是比较值,应该都是int
s。
各种 Equal
重载的实现 should be in here。
如果您在本地克隆断言库(或我为其提供子模块 link 的源代码库),您可以单步执行 impl(或在工具|选项中关闭“仅我的代码”- 很确定xUnit 的符号在某处发布)。