sono imbattuto nel seguente MS Unità di prova:Qual è la differenza tra queste due asserzioni di test unitario?
[TestMethod]
public void PersonRepository_AddressCountForSinglePerson_IsNotEqualToZero()
{
// Arrange.
Person person;
// Act.
person = personRepository.FindSingle(1);
// Assert.
Assert.AreNotEqual<int>(person.Addresses.Count, 0);
}
non ho mai visto l'uso dei farmaci generici quando si fa asserzioni.
è così che vorrei scrivere l'Asserzione:
// Assert.
Assert.AreNotEqual(person.Addresses.Count, 0);
Qual è la differenza?
Quando passo il mouse sopra il sovraccarico AreNotEqual()
che sto usando, il metodo sta usando il sovraccarico che confronta due doppi (non è sicuro il motivo per cui non c'è un sovraccarico int, int).
E se i do inserire il parametro di tipo generico di <int>
in, ReSharper dice che è ridondante.
Quindi la mia domanda è: se il modo in cui lo faccio è ancora sicuro dal tipo, perché usare affermazioni generiche?
Questo lo spiega molto bene, grazie. Quindi, in generale, non è necessario utilizzare il parametro di tipo generico per la maggior parte delle asserzioni di valore. Immagino ora che se il compilatore si lamenta di un'asserzione ambigua, saprò usare il parametro type. Grazie. – RPM1984