Я хочу создать тест Xunit для этого контроллера.Как я могу это сделать - PullRequest
0 голосов
/ 14 июня 2019

Я создал небольшой тестовый пример xunit, но я не знаю, как создать этот контроллер, о котором я упомянул ниже.

    public class PropertyController : ControllerBase
    {
        private readonly IMediator _mediator;
        private readonly ILogger<PropertyController> _logger;

        public PropertyController(IMediator mediator, ILogger<PropertyController> logger)
        {
            _mediator = mediator ?? throw new ArgumentNullException(nameof(mediator));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
        }
        public async Task<IActionResult> AddProperty([FromBody] AddPropertyCommand command)
        {
            bool commandResult = false;
            _logger.LogInformation(
                "----- Sending command: {CommandName} - {IdProperty}: {CommandId} ({@Command})",
                command.GetGenericTypeName(),
                nameof(command.ModifiedUserId),
                command.ModifiedUserId,
                command);
            commandResult = await _mediator.Send(command);
            if (!commandResult)
            {
                return BadRequest();
            }
            return Ok();
        }

Я создал так. У меня есть макет зависимости и создать контрольный пример для команды add работает нормально или нет

public class PropertyControllerTest
    {
        private readonly PropertyController _it;
        private readonly Mock<IMediator> _mediatorMock;
        private readonly Mock<ILogger<PropertyController>> _loggerPropertycontrollerMock;

        public PropertyControllerTest()
        {
            _mediatorMock = new Mock<IMediator>();
            _loggerPropertycontrollerMock = new Mock<ILogger<PropertyController>>();
            _it = new PropertyController(_mediatorMock.Object, _loggerPropertycontrollerMock.Object);
        }
        [Fact]
        public void it_Should_add_information_successfully_and_returns_200_status_result()
        {
            //How can i write xunit test case. I'm creating like this
            _mediatorMock.Setup(x => x.Send().Returns(property);   
        }

1 Ответ

0 голосов
/ 17 июня 2019

Тест, приведенный ниже, охватывает результат 200 статусов - подобный тест для неверных запросов будет очень похожвсе, что ты любишь.Тот, что встроен в XUnit, будет выглядеть так: Assert.IsType(typeof(OkResult), actionResult);

...