Я использую Pex и Moles для моего низкоуровневого модульного тестирования, но я также изучаю MSpec для проверки бизнес-логики и хотел бы использовать Moles для обеспечения согласованности. Проблема, я думаю, в том, что MSPec использует анонимные методы, поэтому нет способа применить атрибут HostType («Moles»). Например:Есть ли обходной путь для установки [HostType («Moles»)] при работе с анонимными методами в MSpec?
Because of =() =>
employeeList = EmployeeManager.GetUsersByRoles(rolesToLoad);
It should_return_a_list_of_employees =() =>
employeeList.ShouldNotBeNull();
Я насмешливо поставщик ролей под названием внутри «GetUsersByRoles», и когда я пытаюсь запустить этот тест через MSpec, я получаю стандарт «Родинка требует испытаний, чтобы находиться в инструментальном процессе» ошибка , с инструкцией добавить [HostType («Moles») к моему методу тестирования. Есть ли способ обхода или другой вариант, доступный здесь?
Боковое примечание: я загрузил MSMSpec.tt и модифицировал его, чтобы включить атрибут в сгенерированный VSTests, но я хотел бы иметь возможность запускать тесты MSpec напрямую через своего собственного бегуна или TestDriven.net, чтобы я мог получить дружественный выход для BAS и владельцев бизнеса.
Спасибо, Майк, это полезное объяснение. Мне нужно выяснить, есть ли какая-то смелая фреймворк, который будет легко использоваться как в тестах MSpec, так и на Pex/native VS. –
Жаль, что Moles не работает с mspec. Кто-нибудь знает, сможет ли работать проект Microsoft Fakes в VS 2011 (включая функции кротов среди других)? – Alexis