Всем привет, помогите разобраться с Unit-тестом, есть следующий контроллер
[HttpGet]
public async Task<ActionResult> Auction([FromQuery] int[] ids, [FromQuery] string platfrom, AuctionModel auctionModel)
{
var partners = _adcampaign.GetRtbPartners(ids);
var result = await _rtbservice.GetAuctionResult(partners.Values, auctionModel);
if (result?.Length > 0)
{
return new ContentResult
{
Content = result,
ContentType = "application/xml",
StatusCode = 200
};
}
else return NoContent();
}
И к нему написан вот такой unit-тест
[Fact]
public async Task ReturnNoContentResult()
{
int[] ids = // Заполение
IReadOnlyDictionary<int, RtbModel> partners = // Заполение
List<RtbModel> rtb_partners = // Заполнение
var auctionModel = // Заполнение
// Arrange
var mock1 = new Mock<IRtbService>();
mock1
.Setup(a => a.GetAuctionResult(rtb_partners, auctionModel))
.ReturnsAsync("Строка");
var mock2 = new Mock<ICachingResults>();
mock2
.Setup(a => a.GetRtbPartners(ids))
.Returns(partners);
var controller = new RtbController(mock1.Object, mock2.Object);
// Act
var result = await controller.Auction(ids, "1111-1-1", auctionModel);
// Assert
var contentResult = Assert.IsType<OkResult>(result);
}
При выполнении есть следуюшая ошибка
Почему тест ожидает NoContentResult, если должен вернуть строку?