【发布时间】:2010-10-15 00:44:48
【问题描述】:
遇到以下 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() 重载上时,该方法正在使用比较两个双精度值的重载(不确定为什么没有 int、int 重载)。
如果我这样做将<int> 的通用类型参数放入,ReSharper 说它是多余的。
所以我的问题是:如果我这样做的方式仍然是类型安全的,为什么要使用泛型断言?
【问题讨论】:
标签: c# unit-testing generics mstest assertions