可能很简单,但是无法正常工作;
我已将Task方法上的签名更改为Task
在单元测试中,我使用流利的断言。
但无法使它正常工作:
_catalogVehicleMapper
.Invoking(m => m.MapToCatalogVehiclesAsync(searchResult, filtersInfo, request, default(CancellationToken)))
.Should().Throw<ArgumentException>()
.WithMessage("One of passed arguments has null value in mapping path and can not be mapped");
MapToCatalogVehiclesAsync
是异步方法,但是我需要等待它,但是等待和异步调用似乎并没有执行。某人..?
最佳答案
尽管法比奥的答案也是正确的,但您也可以这样做:
_catalogVehicleMapper
.Awaiting(m => m.MapToCatalogVehiclesAsync(searchResult, filtersInfo, request, default(CancellationToken)))
.Should().Throw<ArgumentException>()
.WithMessage("One of passed arguments has null value in mapping path and can not be mapped");
另外,我建议始终在
WithMessage
中使用通配符。请参见this blog post中的第10点。