私は自分のプロジェクトでSpring Assertを使用していますが、いくつかの状況で例外がスローされたかどうかを確認するために次のコード:例外がスローされた場合にメッセージを指定する可能性のあるAssert.notThrown
try {
Pattern.compile(freeUsersRegex);
} catch (PatternSyntaxException e) {
throw new IllegalArgumentException("Specify valid regular expression for Free users group");
}
try {
Pattern.compile(deletedUsersRegex);
} catch (PatternSyntaxException e) {
throw new IllegalArgumentException("Specify valid regular expression for Deleted users group");
}
...
しかし執筆:正規表現が無効である場合、私は(毎回異なる)が1つの正規表現が無効であるユーザー、何かそのようなを表示する場合に、メッセージを指定したい
//throws PatternSyntaxException in case if pattern is invalid
Pattern.compile(freeUsersRegex);
Pattern.compile(deletedUsersRegex);
Pattern.compile(movedUsersReges);
...
すべての文字列のtry/catchはあまり便利ではありません上記のコードを次のように置き換えてuldを冷やしてください:
Assert.isNotThrown(Pattern.compile(freeUsersRegex), PatternSyntaxException.class, "Specify valid regular expression for Free users group");
Assert.isNotThrown(Pattern.compile(deletedUsersRegex), PatternSyntaxException.class, "Specify valid regular expression for Deleted users group");
私はそのようなAssert in Springを探していましたが、それを見つけることができませんでした。おそらく他の図書館にもそういうものがありますか?
おかげで、
アンドレイ単にタイプのユーティリティメソッドを再利用しないのはなぜ
:
Javaslangのトライの例を以下に示しますか? –
ユニットテストではなく、サービスクラスが開始される前にパターンを検証し、そのパターンが無効であることを示すようにしてください –