遇到以下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的說,這是多餘的。
所以我的問題是:如果我這樣做的方式仍然是類型安全的,爲什麼使用泛型斷言?
這解釋得非常好,謝謝。所以通常,我們不需要爲大多數值類型斷言使用泛型類型參數。我想現在如果編譯器抱怨模糊的斷言,我會知道使用類型參數。謝謝。 – RPM1984 2010-10-15 01:23:12