Я пытаюсь запустить набор тестовых примеров через одно из наших внутренних приложений. Мне нужно иметь возможность автоматизировать эти тесты и запускать их через командную строку и регистрировать различные вещи. Проблема в том, что существующий код не отделяет представление от контроллера и выдает сообщения и оповещения везде, где пользователь просит нажать кнопку (в моем случае просто OK / CONTINUE). В настоящее время было решено ввести флаги состояния, которые помогут определить контекст, из которого запускается приложение, чтобы можно было решить, делать ли Console.WriteLine()
или MessageBox.Show()
. Но, как вы можете себе представить, это касалось множества изменений и грязных блоков if-else.
К сожалению, на данном этапе не представляется возможным сесть и отделить логику от взгляда. Поэтому мне было интересно, есть ли способ определить контекст, в котором выполняется приложение. Я хотел бы заменить каждый вызов MessageBox () на вызов Notify (), который сам может определить контекст - отображать ли вывод в командной строке или всплывающую форму.
EDIT_1: любые другие предложения для этого также приветствуются.