Мы запускаем автоматизированные NUnit тесты в наших проектах на C # с использованием hudson / jenkins на нескольких виртуальных машинах, которые в основном работают без присмотра на каком-либо сервере. Тесты включают в себя запуск нескольких процессов, которые обмениваются данными, одним из которых является сам NUnit, а другие создаются модульным тестом.
Иногда один из разработчиков проверяет что-то, что вызывает утверждение (Debug.Assert()
). Затем появляется всплывающее окно с вопросом, что делать пользователю. Обычно это происходит в одном из «внешних» процессов, созданных модульными тестами. Они будут блокировать этот процесс , в то время как другие процессы сдаются, потому что они не могут общаться. Однако из-за особенностей системы все последующие тесты также не пройдут , пока этот процесс заблокирован, ожидая, что кто-то щелкнет это окно сообщения.
Мне сказали, что вы можете изменить настройки программы .NET, чтобы утверждение не всплыло в окне сообщения. В идеале процесс должен просто записать что-то в stdout или stderr, чтобы Jenkins записал.
Так что мне нужно сделать, чтобы отключить эти интерактивные диалоги утверждений?