Я использую комбинацию SpecFlow с xUnit для тестирования моих бизнес-объектов CSLA.SpecFlow с xUnit используются для определения и тестирования пользовательских сценариев (например: функциональное / приемочное тестирование), а один xUnit используется для тестирования отдельных классов и их комбинаций.
Зависимости в классах CSLA, такие как данные-доступ, вводятся через контейнер.Такие зависимости могут и часто используются для юнит-тестирования.
Тестовый клиент и наш удаленный портал данных имеют отдельные контейнеры, загруженные с правильными зависимостями.Если тест должен смоделировать какую-либо из зависимостей портала данных, у нас есть специальная команда CSLA, которая выполняется (через xUnit BeforeAfterTestAttribute
) на портале данных и заменяет стандартные зависимости нашими ложными зависимостями.Когда тесты завершены, команда выполняется снова, чтобы вернуть стандартные зависимости обратно в контейнер.
Надеюсь, что это поможет.