我正在使用NUnit 2.6.2 + Fluent Assertions 2.0.1。
我想声明两个引用不指向同一个对象实例。我找不到 clean 表达方式。
NUnit 有Assert.ReferenceEquals(ref1, ref2)
- 但我找不到否定的断言。
在流利断言中,我找不到任何可以直接支持此方案的内容。
我能做到的唯一方法就是这样:
NUnit:Assert.False(object.ReferenceEquals(ref1, ref2));
流利:object.ReferenceEquals(ref1, ref2).Should().BeFalse();
就最小噪音而言,这两者似乎都不太理想。还有更好的方法吗?
答案 0 :(得分:13)
您可以使用NotBeSameAs()方法:
ref1.Should().NotBeSameAs(ref2);
其文件说:
断言对象引用引用的是不同的对象 另一个对象引用是指。
答案 1 :(得分:3)
您可以将Is.Not.SameAs()与Nunit 3.x here
一起使用var x = new object();
Assert.That(x, Is.SameAs(x)); // success
Assert.That(x, Is.Not.SameAs(x)); // fail
var y = new object();
Assert.That(x, Is.SameAs(y)); // fail
Assert.That(x, Is.Not.SameAs(y)); // success