失敗: 方法テスト中:xUnitの例外は、私は私のユニットテストが失敗した理由を知らない
public async Task<MyType> Get(string externalId)
{
if (externalId == null)
throw new ArgumentNullException();
if (externalId == "" || externalId == " ")
throw new FormatException();
// ...
}
ユニットテスト:
Action action = async() => await controller.Get(null);
// Act & Assert
action.ShouldThrow<ArgumentNullException>();
、エラーメッセージが言うので失敗があります:
ThrowされるArgumentNullExceptionが予想されましたが、実行はスローされませんでした。
このテストをデバッグする際に例外ラインがスローされたので、これは奇妙です!
私はxunitとfluentassertionsを使用しています。
なぜ、あなたのユニットテストは、あなたのprodコードが含まれていますか?私は間違ったことをコピーして貼り付けたと思う。 [mcve]を入力してください。 –
あなたはアクションを待っていないので、例外が発生しても例外は発生しません。アクションの代わりにFuncを使用し、それを待っていると例外が発生します。 –
@MartinCostelloありがとう。 – Nerf