可能很简单,但是无法正常工作;

我已将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点。

09-05 22:16