2012-01-24 19 views

Respuesta

4

Esto sucede debido al hecho de que en el fondo de la lógica de comparación colección aserción Fluido usa siguiente código

for (int index = 0; index < expectedItems.Length; index++) 
      { 
       verification.ForCondition((index < actualItems.Length) && actualItems[index].Equals(expectedItems[index])) 
        .FailWith("Expected " + Verification.SubjectNameOr("collection") + 
         " to be equal to {0}{reason}, but {1} differs at index {2}.", expected, Subject, index); 
      } 

en el código de expectedItems y actualItems son sus listas

Ahora piensa en lo que sucederá durante segunda iteración cuando (parte de abajo) se ejecutará?

actualItems[index].Equals(expectedItems[index])

como actualItems[1] es null por lo que los tiros nula excepción de referencia

+0

Boom - 10K. De nada :) –

+1

¿Hay alguna solución con Fluent Assertions? ¿O tengo que usar ciclos en pruebas unitarias si estoy seguro de que los nulos son normales para las colecciones probadas? – tensorsigma

+0

por ahora sugeriría asegurarme de que no haya nulo en la colección antes de llamar igual y presentar un error en el sitio 'codeplex' de' fluentassertion'. Otra opción podría ser descargar la fuente y arreglarlo tú mismo :) –

Cuestiones relacionadas