@thecodesmith_ спасибо, сэр! исправлено.

ьзуя Каратэ, мы смогли выполнить большую часть валидаций для веб-сервисов, мы смогли успешно интегрировать Каратэ с веб-драйвером Selenium и делать утверждения БД с использованием классов Java. Для БД мы вернули наборы результатов в виде списка, конвертировав каждую строку в хэш-карту, и каратэ взял ее как массив json. Таким образом, проверки стали простыми. Большинство потребностей для нас на стороне QA были достигнуты с помощью каратэ.

Тем не менее, сегодня, когда мы представились, перед большим сообществом один из ведущих разработчиков задал вопрос. Он является экспертом в JBehave, BDD, jsonpath, java, веб-сервисах и т. Д. Мы также почувствовали, что его вопрос действительно актуален, исходя из нашего контекста. однако, подход каратэ отличается, и он может не работать в соответствии с нашими знаниями.

В нашем контексте нам нужно заставить БА написать BDD с учетом их бизнес-сценариев, используя бизнес-термины, и QA / Dev может позже преобразовать их в сценарии. (Подход, который мы обычно используем, используя огурец + селен / будьте уверены и т. Д.). Например, если у меня естьфайл функции а также10 сценариев в этом люди со стороны бизнеса не будут понимать детали проверок, видя шаги в каратэ / или, другими словами, простой английский текст будет для них немного более понятным. Нам нужен этот подход, потому что мы пытаемся внедрить изменения процесса с самого уровня истории.

Не могли бы вы поделиться своими мыслями?

 Peter Thomas04 июн. 2018 г., 08:21
для тех, кто ищет информацию окак для интеграции с Selenium или WebDriver, обратитесь к этому другому ответу:stackoverflow.com/a/47233301/143475

Ответы на вопрос(1)

Решение Вопроса

Я написал подробный пост в блоге об этом здесь:Да каратэ нетправда BDD

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

Вы можете быть в состоянии использовать Каратэ за кулисами как определения шага Огурца черезJava API, Или если вы хотите использовать что-то вродеREST-уверен, полная сила для вас.

Мое личное мнение, пожалуйста, не надо. Вы будете тратить время на это:

Обеспечение того, чтобы "BA friendly" Огурец былдействительно «простой английский» и находится на правильном уровне абстракции (в зависимости от того, кого вы спрашиваете). Быть готовым кбесконечный дебаты Относительно того, содержат ли ваши сценарии Cucumber детали, относящиеся к реализации, или нет.На самом деле получить ваши BA, чтобы написать корнишон или по крайней мере сотрудничать с командой разработчиков, чтобы написать их. Кстати, именно этосотрудничество это самая большая ценность, которую вы получаете от BDD -не автоматизация спецификации как исполняемых тестов. Так что, если вы действительно можете это сделать (получая время и опыт Gherkin от ваших BA), хорошо - поздравляем!Не многие команды могут это осуществить.Конечно, корнишон - это лишь верхушка айсберга, вам нужно пойти и написать все определения шагов. Вы бы видели эту часть документации по каратэ, которая описываетразличия между каратэ и огурцом.у меня естьсильный точка зрения, что BDD имеет очень небольшое (и, возможно, отрицательное) значение для тестов API. Большая разница между тестом пользовательского интерфейса (лицом к лицу) и тестом API (лицом к машине) заключается в том, что существует четкий «контракт», который вы кодируете. Этот контракт лучше всего выражать в технических терминах (JSON / схема) вместопреднамеренный абстракция, в которую вас заставляет BDD. Конечный пользователь или потребитель API обычнодругой программист ! Да, нужно подумать оAPI как продукт - но BDD просто заходит слишком далеко. И особенно когда речь идет о микросервисах, вы редко сталкиваетесь с тем, что делает что-то более сложное, чем простой CRUD.Задайте себе этот вопрос - ожидаете ли вы, что ваши БА продолжат читать «Огурец» после этапа определения требований проекта? Имейте в виду, что BDD должен практиковатьсяперед написанием одной строки кода, Если корнишон выполнил свою задачу по налаживанию сотрудничества, общего понимания и примеров - просто переведите его в обычные автоматизированные тесты и не оглядывайтесь назад!

РЕДАКТИРОВАТЬ: Посмотрите наВторой пример здесь чтобы увидеть, что происходит, когда вы используете Cucumber для проверки того, что должно быть простым модульным или интеграционным тестом.

Надеюсь, это поможет :)

 Peter Thomas21 февр. 2018 г., 04:55
@thecodesmith_ спасибо, сэр! исправлено.
 thecodesmith_20 февр. 2018 г., 21:21
Последняя ссылка на покрытие кода не работает, необходимоhttps скорее, чемhttp.

Ваш ответ на вопрос