我有以下控制器:
[HttpGet("")]
[ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
public async Task<IActionResult> FetchCurrentCompany()
{
var data = await _mediator.Send(new CompanyQuery());
return Ok(data);
}
哪位发送询问
public class CompanyQuery : QueryBase<string>
{
public CompanyQuery() { }
}
有一个处理程序
internal class CompanyQueryHandler : IQueryHandler<CompanyQuery, string>
{
public CompanyQueryHandler()
{
}
public async Task<string> Handle(CompanyQuery query, CancellationToken cancellationToken)
{
return JsonConvert.SerializeObject("Hello Company API");
}
}
我正在尝试编写一个测试来调用 API 并返回“Hello Company API”
当我调试测试时,它没有命中
return JsonConvert.SerializeObject("Hello Company API");
相反,它只是说测试过去了,结果实际上并没有“Hello Company API”
下面是测试
private readonly Mock<IMediator> _mockMediatR;
public ApiControllerTest()
{
_mockMediatR = new();
}
[Theory]
public async Task Get_Company_Details_Should_Return_Company_Information()
{
// Arrange
var controller = new CompanyController(_mockMediatR.Object);
// Act
var result = await controller.FetchCurrentCompany();
// Assert
Assert.NotNull(result);
}
有人可以阐明我做错了什么,以便我可以从处理程序返回预期的消息吗?