Возможно ли использовать ScenarioContext в Mock Specflow? (C#) - PullRequest
2 голосов
/ 29 апреля 2020

Попытка написать модульный тест для шага Specflow, который использует ScenarioContext. Этот шаг пытается получить значение свойства из ScenarioContext. Можно ли смоделировать ScenarioContext, чтобы я мог установить значение для этого свойства?

Использование VS Professional и Moq Framework на моем локальном компьютере. Спасибо

Насколько я мог убедиться, ScenarioContext не реализует никакого интерфейса. Попытка Mock на ScenarioContext не удалась (причина в блоке кода ниже)

private Mock<IPropertyBucket> _propertyBucket;

ctor(){

    var mo = new Mock<ScenarioContext>(); // this line fails as ScenarioContext has no public contructor.
    mo.Object.Add("response", Response);  // this property is what the specflow step is using eventually

    _propertyBucket = new Mock<IPropertyBucket>();
    _propertyBucket.Setup(pb => pb.ScenarioContext).Returns(mo.Object);  
}

К вашему сведению: я работаю над многоцелевым целевым решением. Эта структура работает как для net472, так и для netCore3.1.x. Реализация ScenarioContext различна для. Net Core и. Net framework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...