Похоже, что вы правильно выполняете модульное тестирование, высмеивая внешнюю зависимость от NServiceBus. Чтобы быть ясным, мое определение модульных тестов состоит в том, что они ничего не делают за пределами вашего кода (как, скажем, использование MSMQ). Для ваших интеграционных тестов вы должны уметь делать что-то очень простое, что доказывает, что вы можете передавать сообщения из одной системы в другую и, возможно, получить ожидаемый конечный результат. Чтобы настроить это, вы можете запустить клиент-сервер NServiceBus из метода установки вашего тестового устройства (и избавиться от них в демонтаже). Не имеет значения, являются ли они EXE-файлами или запускаются в IIS - вы должны иметь возможность программно запускать / останавливать их изнутри вашего теста, даже если это означает вызов Process.Start () или чего-то подобного.
В качестве альтернативы, если ваши интеграционные тесты выполняются на сервере сборки в рамках настройки непрерывной интеграции, ваш скрипт сборки может гарантировать, что правильные процессы выполняются даже до запуска ваших тестов, что, вероятно, приведет к более воспроизводимым и более быстрым результатам. , Используя комбинацию TeamCity и MSBuild или NAnt, довольно легко сделать что-то подобное.