2016-12-30 10 views
0

У меня есть большое количество тестовых примеров с расширением/BDD, что делает REST-вызовы. Эти вызовы REST хорошо работают с приложением типа контента/json и application/xml.Сценарии одного и того же сценария/BDD, которые заставляют REST-вызовы работать с приложением/XML сначала, а затем с приложением/JSON

Но мне нужно вручную изменить этот тип контента и повторно запускать все те же сценарии каждый раз, когда мне нужно протестировать JSON и XML.

Есть ли способ запустить весь сценарий дважды, сначала запустить приложение ContentType/json, а второй запустить с приложением/xml.

ответ

0

Да, но в Specflow нет ничего, чтобы поддерживать его автоматически.

Сказав, что вы можете легко использовать свои шаги и написать что-то вроде

Given I am using JSON 
And X 
When Y 
Then it should Z 

Given I am using XML 
And X 
When Y 
Then it should Z 

или даже

@UsingJSON 
Given X 
When Y 
Then it should Z 

@UsingXML 
Given X 
When Y 
Then it should Z 

Здесь вы обнаружить, который Тэг используется в ступеньках, или даже с помощью Scoped Bindings

0

Нет такой вещи, как «BDD test cases»; только примеры того, как ведет себя система, которую мы иногда называем «сценариями».

Предлагаю, во-первых, поговорить о нескольких разных примерах различных используемых систем. Это поможет вам увидеть, действительно ли поведение идентично. Захват этих примеров также поможет любым будущим разработчикам понять, откуда исходит настоящая необходимость, и установить ожидания относительно того, какие источники, вероятно, будут использовать каждую кодировку.

Если вам действительно нужно написать тесты, попробуйте обернуть части кода JSON и XML вашего кода в тестах интеграции. XML и JSON являются техническими проблемами, а родным языкам действительно очень сложно рефакторировать! Поэтому, вероятно, вы хотите использовать что-то вроде NUnit.

Теперь у вас есть несколько примеров, которые показывают, как работает ваша система, а также служат для обеспечения правильной проводки данных и некоторых интеграционных тестов, которые проверяют, что он работает как для XML, так и для JSON. Интеграционные тесты существуют для технической аудитории. Если кто-то нетехнический действительно хочет проверить, что они работают, просто убедитесь, что они названы надлежащим образом и дают им URL-адрес вашей сборки. Большинство деловых людей могут читать верблюд-футляр.

Если вам абсолютно необходимо запускать каждый сценарий с использованием как JSON, так и XML, вы можете создать дерево сценариев «JSON» и дерево сценариев «XML», использовать символические ссылки или скрипт сборки, который копирует файлы для обеспечения их запуска от одного и того же источника на английском/родном языке, а затем предоставить различные определения шагов, которые выполняются с XML или JSON соответственно. Я подозреваю, что у вас будет более легкое время с моим первым набором предложений.

 Смежные вопросы

  • Нет связанных вопросов^_^