Белый работает с использованием Microsoft UI Automation, которая просматривает любой поддерживаемый графический интерфейс.Он не беспокоится о коде под ним, и вы не можете взаимодействовать с этим кодом так же, как вы могли бы с помощью модульного теста.
Обычно вы запускаете свое приложениечерез его .exe, затем используйте White для его автоматизации.Чтобы запустить его только с клиентом, нужно, чтобы сам процесс запускался с контекстом макета приложения.Это означало бы соответствующую компиляцию .exe или наличие двух разных исполняемых файлов, один из которых правильно настраивает ваши пакеты, а другой - нет.
Без базы данных вы на самом деле не проводите приемочный тест -тот, который проверяет, что код находится в хорошем состоянии для принятия в производство.Таким образом, я не буду беспокоиться о том, чтобы создать базу данных.
Я бы выбрал один из следующих подходов:
Повторное создание базы данных для каждого запуска теста, заполнение еесоответствующий контекст, если требуется
Пометьте данные, сгенерированные тестом, датой-временем, чтобы вы могли отличить их от обычных данных
Создайте фиктивную версию своего сервера, которая отвечает фиксированными ответами на запросы, и дайте приложению указание использовать его вместо этого (возможно, просто с помощью аргумента командной строки).Обратите внимание, что это все еще не будет проверять, что все работает с базой данных.Это может быть уместно, если вы просто хотите показать обработку ошибок или если другая группа будет отвечать за создание службы.
Надеюсь, что эти идеи помогут и предоставят варианты, в любом случае!