Вы должны использовать Microsoft Coded UI для тестирования уровня UI. Это включает в себя написание (или запись) тестов, которые имитируют действия, которые должен выполнять пользователь, и написание утверждений assert для обеспечения достижения правильного результата.
Конечно, это, возможно, не модульное тестирование, потому что сложно создать действия из внешнего интерфейса, которые тестируют одну единицу работы, и не заменяет другое модульное тестирование. Я также согласен с тем, что бизнес-логика внешнего интерфейса должна быть максимально тонкой. Тем не менее, это заполнит все пробелы, где ваши юнит-тесты не покрывают. Надеемся, что ваши юнит-тесты не будут охватывать только небольшие единицы работы, поэтому закодированные тесты пользовательского интерфейса отловят оставшиеся непроверенные блоки.
Кодированный пользовательский интерфейс поставляется с последними версиями Visual Studio Premium. Я предлагаю вам не просто использовать функциональность записи, но и научиться самостоятельно писать тесты, поскольку это дает вам большую гибкость.