Editar: La respuesta aceptada es una mejor.
Si su prueba, finalmente, el tiempo de espera (aunque más tarde de lo que esperas), siempre se puede utilizar el atributo MaxTime
: http://www.nunit.org/index.php?p=maxtime&r=2.5.1 y limpiar el hilo de sí mismo:
[Test, Maxtime(2000)]
public void TimedTest()
{
...
}
De lo contrario, su mejor opción podría ser la implementación tu propio mecanismo de sincronización. Use un temporizador (o un ciclo while ocupado) y si se excede el tiempo de espera, entonces elimine el proceso (tal vez en el método ShutDown si es genérico en todas las pruebas) y la falla de la señal.
Los tiempos de espera de NUnit no tienen ningún evento que le permita ejecutar el código después de que finalice el tiempo de prueba. Tienes que hacer tu propio, parece.
Absolutamente brillante. Puedes limpiar el hilo después de eso. – ashes999
Tan bueno como este es, no podría hacerlo funcionar con mi escenario: engendrar otro proceso, abrir un diálogo y NUnit nunca lo matará, a menos que haga clic en el botón. –
Bueno, por lo que no está haciendo pruebas de aceptación, le aconsejo que use algo como 1) Blanco http://white.codeplex.com/Thread/View.aspx?ThreadId=85842&ANCHOR 2) NUnit Forms http: //nunitforms.sourceforge.net/ Ambos son buenos para crear ventanas y presionar botones. –