以下Func委托拋出一個ArgumentNullException:
Func<Task> act = async () => await _someService
.someMethod(1, 2, 3, 4);
使用Fluent assertions,斷言:
act.Should().ThrowExactlyAsync<ArgumentException>();
應該失敗:
斷言當前
Func拋出確切型別的例外TException(而不是派生的例外型別)。
ArgumentNullException派生自ArgumentException,給定描述,斷言應該失敗,但它通過。
這是一個錯誤還是我濫用了這個?
uj5u.com熱心網友回復:
由于ThrowExactlyAsync回傳 a Task,除非您這樣做,否則您實際上并沒有做任何事情await:
await act.Should().ThrowExactlyAsync<ArgumentException>();
uj5u.com熱心網友回復:
替換act.Should().ThrowExactlyAsync<ArgumentException>();
為await act.Should().ThrowExactlyAsync<ArgumentException>();\
這會給你一個正確的結果(在這種情況下失敗)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359930.html
上一篇:RestTemplate.postForEntity的SpringMockito測驗拋出IllegalArgumentException:URI不是絕對的
