Как сделать Automock для существующего макета объекта? - PullRequest
1 голос
/ 21 июня 2019

В моем существующем проекте я использую xunit.В настоящее время очень раздражает насмешка над каждым моментом службы.Поэтому я решил использовать AutoMock, но мой проект очень обширный, и я уже сделал много кода и присвоил много значений.Так можно ли, что, не меняя существующий макет объекта, я могу использовать AutoMock?Ниже приведен мой пример кода.Я планирую использовать AutoFac

В настоящее время, если я хочу установить любое значение, которое я делаю

bordereauFormatsRepositoryMock
    .Setup(x => x.GetBordereauFormats(It.IsAny<List<string>>()))
    .Returns(botFormatsVMList);*

В AutoMock -

mock.Mock<IBordereauFormatsRepository>()
    .Setup(x => x.GetBordereauFormats(It.IsAny<List<string>>()))
    .Returns(botFormatsVMList)*;

Так как я могуприсвойте bordereauFormatsRepositoryMock mock.Mock<IBordereauFormatsRepository>()?

public BotMockTest()
{
    #region Object initialization
    botFormatsVMList = new List<BotFormatsVM>();
    botFormatsVM = new BotFormatsVM();
    botService = new BotService(bordereauFormatsRepositoryMock.Object, bordereauFormatColumnRepositoryMock.Object, contractRepository.Object, bordereauxRepositoryMock.Object, exceptionLogServiceMock.Object);
    #endregion
}

[FactWithAutomaticDisplayName]
public void GetBordereauFormats()
{
    //Arrange
    List<string> sheetList = new List<string>() { { "sheet" } };
    botFormatsVM.BordereauFormatId = Guid.Parse("847AE6BD-C20E-4377-8F56-36D58674C961");
    botFormatsVMList.Add(botFormatsVM);
    bordereauFormatsRepositoryMock.Setup(x => x.GetBordereauFormats(It.IsAny<List<string>>())).Returns(botFormatsVMList);

    //Act
    botService.GetBordereauFormats(sheetList);

    //Assert
    Assert.True(botFormatsVM.BordereauFormatName == "UpdatedVal");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...