Puede utilizar el AssertWasCalled()
en Rhino.Mocks
Su expectativa de que la prueba debe detenerse si se llama al método y no debe ejecutar las siguientes líneas significa que usted ha escrito la prueba equivocada. Haga que assert (Nunit u otro) sea la última línea de la prueba y divida la prueba. Probablemente estés probando dos cosas y esa no es una prueba unitaria. No tiene ese tipo de flujo de ramificación en las pruebas. Todas las líneas en las pruebas deben ser ejecutadas. E idealmente, cada prueba debería tener solo una afirmación.
Con el tipo de flujo que está esperando, también pierde la retroalimentación que recibe de las pruebas cuando fallan. Usted no sabe, simplemente mirando el nombre de la prueba, qué falló.
¿Desea que el simulacro pueda indicar que la prueba está completa? – rerun
Sí; La razón es que si no 'arrrange' algunos objetos que se tocan después de esta llamada a método, tengo una excepción. Y no me parece significativo ampliar mi prueba solo para evitar una excepción, mientras que me convencen de que la prueba se aprueba llamando a ese método esperado. – pencilCake
Creo que debería arreglar mejor su diseño que ofuscar el flujo de ejecución de sus pruebas. Sin saber más detalles es difícil decir cuál es el problema, pero parece que tienes un método que hace más de una cosa (lo que estás probando más lo que quieres omitir), violando el principio de responsabilidad única. – hammar