Короче говоря: Вы ошибаетесь .
Более длинный ответ заключается в том, что вам нужно написать свои шаги по-другому, чтобы убрать из него технический жаргон и сосредоточиться набизнес-ценность.
Scenario: Retriving a list of platforms
Given I am an authorized user
When I retrieve a list of hotel platforms
Then I should receive the following hotel platforms:
| Platform |
| Mobile |
| Desktop |
Шаг: когда я получаю список гостиничных платформ
Этот шаг должен сделать запрос GET в коде C #.Сохраните ответ на этот запрос GET в контексте сценария.
Шаг: Затем я должен получить следующие гостиничные платформы:
Делает простое утверждение и опускает техническую информациюкак "Ref Id".Имя платформы - это все, что вас действительно волнует.
Грубое начало этих шагов будет следующим:
using TechTalk.SpecFlow;
using TechTalk.SpecFlow.Assist;
[Binding]
public class PlatformSteps
{
private readonly ScenarioContext scenario;
public PlatformSteps(ScenarioContext scenario)
{
this.scenario = scenario;
}
[When(@"^When I retrieve a list of hotel platforms")]
public void WhenIRetrieveAListOfHotelPlatforms()
{
var response = api.GetHotelPlatforms(); // Or whatever you API call looks like
scenario["HotelPlatformsResponse"] = response;
}
[Then(@"^I should receive the following hotel platforms:")]
public void IShouldReceiveTheFollowingHotelPlatforms(Table table)
{
var response = (IEnumerable<SomeJsonResponseType>)scenario["HotelPlatformsResponse"];
var actualPlatforms = response.Select(r => r.PlatformName);
table.CompareToSet(actualPlatforms);
}
}