Edit: Принятый ответ лучше один.
Если тест в конце концов время ожидания (хотя и позже, чем вы надеетесь), вы всегда можете использовать атрибут MaxTime
: http://www.nunit.org/index.php?p=maxtime&r=2.5.1 и очищает поток себя:
[Test, Maxtime(2000)]
public void TimedTest()
{
...
}
В противном случае, лучшим вариантом может стать реализация ваш собственный механизм синхронизации. Используйте таймер (или занятый цикл while), и если превышен тайм-аут, то убейте процесс (возможно, в методе ShutDown, если он является общим для всех тестов) и сбой сигнала.
Таймауты NUnit не имеют никаких событий, которые позволяют запускать код после истечения времени тестирования. Похоже, вы должны катиться самостоятельно.
Абсолютно блестящий. После этого вы можете очистить поток. – ashes999
Насколько это возможно, я не мог заставить его работать с моим сценарием - порождаем другой процесс, открываем диалог и NUnit никогда его не убивает, если вы не нажмете кнопку. –
Ну, таким образом, вы не принимаете приемочные тесты, я бы посоветовал вам использовать что-то вроде 1) Белый http://white.codeplex.com/Thread/View.aspx?ThreadId=85842&ANCHOR 2) NUnit Forms http: //nunitforms.sourceforge.net/ Оба подходят для создания окон и нажатия кнопок. –