MSpec и SpecFlow, когда использовать какие?Каковы преимущества / недостатки обоих? - PullRequest
16 голосов
/ 28 апреля 2011

Я пытаюсь начать работу с BDD и нашел в блоге сообщения о MSpec и SpecFlow. В настоящее время я не совсем уверен, когда я буду использовать какие и какие преимущества / недостатки любой из этих структур.

Глядя на документацию, кажется, что MSpec использует стиль спецификации контекста, тогда как SpecFlow использует стиль Given / When / Then. Я тоже не против, но я хотел бы знать, есть ли какие-нибудь подводные камни, на которые стоит обратить внимание, когда будет расти набор проектов / тестов.

В принципе, было бы замечательно получить какой-нибудь реальный совет / отзыв кого-то, кто использует его в своей повседневной работе.

Ответы [ 2 ]

18 голосов
/ 30 апреля 2011

Итак, я использовал оба. Мне нравится рабочий процесс mspec, потому что мне легче говорить с пользователями и говорить.

"При входе в систему" «Я должен вернуться на страницу, которую я запрашивал»

Когда я работал в организациях, которые приобрели больше возможностей для активного сотрудничества (читай agile ), я использовал шаблон «Когда когда» Эта организация использовалась для пользовательских историй, поэтому они привыкли к более жесткому стилю спецификации. Также мы использовали более одного инструмента для подачи спецификаций. поэтому файлы «только текст» можно повторно использовать между инструментами.

В моих собственных проектах я использую SpecFlow для внешних и mspec для внутренних тестов. Если бы я должен был дать кому-то совет, было бы использовать specflow, если не технические специалисты пишут внешние спецификации, и mspec, если разработчик пишет.

Плохие очки: Mspec это взрыв класса SpecFlow - более медленный рабочий процесс Хорошие моменты: Mspec - более естественный язык Specflow лучше для повторного использования для шагов.

Суть в том, что они хорошо работают вместе.

1 голос
/ 02 июля 2015

Одним из недостатков mspec является то, что вы не можете работать в параллельном режиме, тогда как с помощью специалиста runner вы можете. Это большая проблема с производительностью.

...