Tengo un comportamiento extraño en una prueba en la que deseo probar que se lanza una excepción cuando se pasa nulo como parámetro. Cuando ejecuto la prueba que recibo de NUnit:Comportamiento extraño con NUnit, ExpectedException y yield return
System.ArgumentNullException was expected
-- Exception doesn't have a stack trace --
Mi prueba:
[Test]
[ExpectedException(typeof(ArgumentNullException))]
public void Should_not_retrieve_any_fields_when_file_is_null()
{
_creator.CreateFields(null);
}
Mi aplicación:
public IEnumerable<ImportField> CreateFields(HttpPostedFileBase file)
{
if (file == null) throw new ArgumentNullException("file");
using (var reader = new StreamReader(file.InputStream))
{
var firstLine = reader.ReadLine();
var columns = firstLine.Split(new[] { ',' });
for (var i = 0; i < columns.Length; i++)
{
yield return new ImportField(columns[i], i);
}
}
}
¿Hay una explicación lógica a este comportamiento y debo hacer mi implementación de manera diferente?
+1 nice catch !! – sll