encontramos con el siguiente ensayo Unidad MS:¿Cuál es la diferencia entre estas dos afirmaciones de prueba unitarias?
[TestMethod]
public void PersonRepository_AddressCountForSinglePerson_IsNotEqualToZero()
{
// Arrange.
Person person;
// Act.
person = personRepository.FindSingle(1);
// Assert.
Assert.AreNotEqual<int>(person.Addresses.Count, 0);
}
nunca he visto el uso de genéricos al hacer afirmaciones.
Esta es la forma en que iba a escribir a la aseveración:
// Assert.
Assert.AreNotEqual(person.Addresses.Count, 0);
¿Cuál es la diferencia?
Al pasar el control sobre la sobrecarga AreNotEqual()
que estoy usando, el método está utilizando la sobrecarga que compara dos dobles (no estoy seguro de por qué no hay una sobrecarga int, int).
Y si yo do pongo el parámetro de tipo genérico <int>
, ReSharper dice que es redundante.
Así que mi pregunta es: si la forma en que lo hago sigue siendo segura, ¿por qué usar aserciones genéricas?
Eso lo explica muy bien, gracias. Por lo tanto, en general, no necesitamos usar el parámetro de tipo genérico para la mayoría de las aserciones de tipo de valor. Supongo que ahora si el compilador se queja de una afirmación ambigua, sabré usar el parámetro tipo. Gracias. – RPM1984