我发现了以下MS单元测试:
[TestMethod]
public void PersonRepository_AddressCountForSinglePerson_IsNotEqualToZero()
{
// Arrange.
Person person;
// Act.
person = personRepository.FindSingle(1);
// Assert.
Assert.AreNotEqual<int>(person.Addresses.Count, 0);
}
我从未见过在断言时使用泛型。
这是我写断言的方式:
// Assert.
Assert.AreNotEqual(person.Addresses.Count, 0);
有什么区别?
当我悬停在我使用的AreNotEqual()
重载方法上时,该方法使用比较两个double值的重载(不确定为什么没有int,int重载)。
如果我确实将<int>
的泛型类型参数放入其中,ReSharper会说它是多余的。
所以我的问题是:如果我这样做仍然是类型安全的,为什么要使用泛型断言呢?