Тестовый пример не пройденC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Тестовый пример не пройден

Сообщение Anonymous »

При выполнении тестового примера я получаю следующую ошибку:

Сообщение: Moq.MockException:

Ожидается вызов на макет один раз, но было 0 раз: m => m.Map(AnnotationMasterRequest)
Выполненные вызовы:MockIMapper:1 (m):

Вызовы не выполнялись.

Метод службы:

Код: Выделить всё

public async Task CreateAnnotation(AnnotationMasterRequest annotationMasterRequest)
{
return await serviceResponseExceptionHandler.HandleAsync(async () =>
{
var annotationMaster = _mapper.Map(annotationMasterRequest);
annotationMaster.AnnotationMasterId = Guid.NewGuid();

var responseResult = await base.Insert(annotationMaster);
return responseResult.DataResult;
}, annotationMasterRequest);
}
Тестовый пример:

Код: Выделить всё

public class AnnotationMasterServiceTests
{
private readonly Mock _unitOfWorkMock;
private readonly Mock _mapperMock;
private readonly Mock _exceptionHandlerMock;
private readonly AnnotationMasterService _service;

public AnnotationMasterServiceTests()
{
_unitOfWorkMock = new Mock();
_mapperMock = new Mock();
_exceptionHandlerMock = new Mock();
_service = new AnnotationMasterService(
_unitOfWorkMock.Object,
_mapperMock.Object,
_exceptionHandlerMock.Object);
}

[Fact]
public async Task CreateAnnotation_ShouldReturnSuccess_WhenValidRequest()
{
// Arrange
var request = new AnnotationMasterRequest
{
AnnotationMasterName = "test"
};
var annotationMaster = new AnnotationMaster();

var annotationMasterResponse = new AnnotationMasterResponse { /* populate fields */ };

// Create a mock ServiceResponse that returns a valid response, but we don't need to access internal properties.
var serviceResponse = new ServiceResponse
{
// Leave the internal properties (DataResult, Success, Message) as they are
// Your test doesn't need to access them directly; we assume the ServiceResponse is set up correctly
};

_mapperMock.Setup(m => m.Map(request)).Returns(annotationMaster);

_exceptionHandlerMock.Setup(e => e.HandleAsync(It.IsAny(), request)).ReturnsAsync(serviceResponse);

// Act
var result = await _service.CreateAnnotation(request);

// Assert
Assert.NotNull(result);
Assert.Equal(serviceResponse.DataResult, result.DataResult);
_mapperMock.Verify(m => m.Map(request), Times.Once);
}
Картограф:

Код: Выделить всё

public class AnnotationMasterMapper : Profile
{
public AnnotationMasterMapper()
{
CreateMap();
CreateMap();

CreateMap();
}
}
Я попробовал этот код и ожидаю успешного выполнения тестового примера.

Подробнее здесь: https://stackoverflow.com/questions/792 ... case-fails
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тестовый пример связанного списка палиндромов не пройден [закрыто]
    Гость » » в форуме C++
    0 Ответы
    28 Просмотры
    Последнее сообщение Гость
  • Тестовый пример не пройден
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Тестовый пример не пройден
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Смена монеты — тестовый пример не пройден
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как вывести только один результат «Пройден/Не пройден» при повторном запуске теста?
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»