Я пытаюсь использовать атрибут AutoMoqDataAttribute с моими сценариями XBehave, но кажется, что когда я делаю это, я использую преимущество, заключающееся в том, что в окнах Resharper или MsTest появляется различная информация о шагах.
обычно для предоставления данных для ваших тестов в X, если вы используете атрибут Example, но я хочу иметь возможность предоставлять уже настроенные тестовые данные с помощью автофиксации.
Я вижу, что у кого-то была похожая проблема здесь , и они создали этот gist , но я не уверен, как это поможет или как это должно быть подключено к автоматическому приспособлению.
вот мойкод:
[Scenario]
[AutoMoqData]
public void CorrelationId_WhenCorrelationIdIsPassedIn(
string result,
string correlationId,
[Frozen(Matching.DirectBaseType)] DefaultHttpContext httpContext,
[Frozen] Mock<IHttpContextAccessor> httpContextAccessorMock,
CorrelationIdProvider sut)
{
$"Given a correlation id header value of {correlationId} has been passed in"
.x(() =>
{
httpContext.Request.Headers["x-Correlation-ID"] = correlationId;
httpContextAccessorMock.Setup(x => x.HttpContext).Returns(httpContext);
});
"When the correlation id is retrieved"
.x(() => result = sut.CorrelationId);
"Then the correlation id is not empty"
.x(() => result.Should().NotBeEmpty());
$"And the correlation id matches {correlationId}"
.x(() => result.Should().Be(result));
}
public class AutoMoqDataAttribute : AutoDataAttribute
{
public AutoMoqDataAttribute() :
base(() => new Fixture().Customize(new AutoMoqCustomization()))
{
}
}