use_test_throws_matchers
fail() の代わりに throwsA マッチャーを使用します。
このルールは Dart 2.14 以降で使用可能です。
詳細
#fail()
を使用した try-catch の代わりに throwsA
マッチャーを使用します。
BAD
dart
// sync code
try {
someSyncFunctionThatThrows();
fail('expected Error');
} on Error catch (error) {
expect(error.message, contains('some message'));
}
// async code
try {
await someAsyncFunctionThatThrows();
fail('expected Error');
} on Error catch (error) {
expect(error.message, contains('some message'));
}
GOOD
dart
// sync code
expect(
() => someSyncFunctionThatThrows(),
throwsA(isA<Error>().having((Error error) => error.message, 'message', contains('some message'))),
);
// async code
await expectLater(
() => someAsyncFunctionThatThrows(),
throwsA(isA<Error>().having((Error error) => error.message, 'message', contains('some message'))),
);
使い方
#use_test_throws_matchers
ルールを有効にするには、analysis_options.yaml
ファイルの linter > rules の下に use_test_throws_matchers
を追加します。
analysis_options.yaml
yaml
linter:
rules:
- use_test_throws_matchers
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページの最終更新日は 2024-07-03 です。 ソースを表示 または 問題を報告する。