Как использовать ScenarioStepContext в хуке? - PullRequest
0 голосов
/ 13 июня 2018

Я использую SpecFlow с NUnit3 и пытаюсь получить доступ к контексту шага в ловушке.

Я выполняю тесты параллельно, поэтому не использую статические контексты экземпляра, но использую функцию разрешения параметров SpecFlow.

С помощью ловушки, подобной приведенной ниже, экземпляр ScenarioContext разрешается нормально, но ScenarioStepContext вызывает ошибку выброса привязки:

Примитивные типы или структуры не могут быть разрешены: TechTalk.SpecFlow.Bindings.StepDefinitionType (путь разрешения: TechTalk.SpecFlow.ScenarioStepContext-> TechTalk.SpecFlow.StepInfo) '

[AfterStep]
public void LogStepResult(ScenarioStepContext scenarioStepContext,
    ScenarioContext scenarioContext)
{
}

Ответы [ 2 ]

0 голосов
/ 17 июня 2018

Если вы не используете параллельное выполнение в своих тестах, вы можете напрямую вызвать ScenarioContext.Вот пример .Если вы выполняете тесты параллельно, тогда вы можете использовать предыдущий ответ.

0 голосов
/ 13 июня 2018

Обнаружено, что он похоронен в какой-то документации ...

Вместо того, чтобы пытаться разрешить ScenarioStepContext, вы можете использовать ScenarioStepContext, который идет с разрешенным ScenarioContext в свойстве StepContext:

[AfterStep]
public void LogStepResult(ScenarioContext scenarioContext)
{
    var stepContext = scenarioContext.StepContext;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...