Ответ 1
Итак, я использовал оба. Мне нравится рабочий процесс mspec, потому что его легче продавать для меня, чтобы говорить с пользователями и говорить.
"При входе в систему" "Я должен вернуться на страницу, которую я просил"
Когда я работал в организациях, которые купили больше в активном сотрудничестве (читайте быстро), я использовал шаблон Given When Then. Эта организация использовалась для пользовательских историй, поэтому они использовались для более жесткого стиля спецификации. Кроме того, мы использовали более одного инструмента для подачи спецификаций. поэтому файлы функций "только текст" могут быть повторно использованы между инструментами.
В моих собственных проектах я использую SpecFlow для "снаружи" и "mspec" для внутри тестов. Если бы я должен был дать кому-то совет, было бы использовать specflow, если не технические люди пишут внешние спецификации и mspec, если разработчик пишет.
Плохие очки: Mspec - взрыв класса SpecFlow - это медленный рабочий процесс Хорошие моменты: Mspec - более естественный язык Спектр лучше для повторного использования шагов.
Суть в том, что они хорошо работают вместе.