У меня есть следующий код:Как использовать AutoFixture в этом случае?
var boundArgument = new BoundArgumentOption
{
PatientId = patientId
};
var mockRepositoryFactory = A.Fake<IRepositoryFactory>();
var sut = new HtmlOutputBuilder(mockRepositoryFactory);
var patientRecord = // Some record;
var mockRepository = A.Fake<IRepository>();
A.CallTo(() => mockRepository.Get(boundArgument)).Returns(patientRecord);
A.CallTo(() => mockRepositoryFactory.Create(boundArgument)).Returns(mockRepository);
string actualResult = sut.BuildReport(boundArgument);
actualResult.Should().Be(expectedHtmlContent);
и проходит тест.
Затем я попытался с помощью AutoFixture следующим образом:
var fixture = new Fixture().Customize(new AutoFakeItEasyCustomization());
var boundArgument = fixture.Create<BoundArgumentOption>();
var mockRepositoryFactory = A.Fake<IRepositoryFactory>();
fixture.Freeze(mockRepositoryFactory);
var sut = fixture.Create<HtmlOutputBuilder>();
var patientRecord = //Some record;
boundArgument.PatientId = patientId;
var mockRepository = A.Fake<IRepository>();
A.CallTo(() => mockRepository.Get(boundArgument)).Returns(patientRecord);
A.CallTo(() => mockRepositoryFactory.Create(boundArgument)).Returns(mockRepository);
string actualResult = sut.BuildReport(boundArgument);
actualResult.Should().Be(expectedHtmlContent);
который терпит неудачу. В частности, во втором случае patientRecord
не заполняется должным образом.
Что я здесь делаю неправильно?
Какое значение 'expectedHtmlContent' ? –
@NikosBaxevanis Не должно иметь значения, что значение 'expectedHmtlContent' - это только FYI, это фактически строка Html, которую я напишу в файл. – DavidS