ファイル:JAVAのプロパティファイルでregexを使用できますか?私はプロパティに格納されたテキストを主張しようとしています
Text=\
some text\n\
to be\n\
asserted\n\
based on 1567 ratings
1567はので、私はそれはのは、\ dを使用して、これは任意の数とすることができると言うだろう正規表現に置き換えられますことを確認するか、異なります\ d、プロパティファイルで\をエスケープする必要があるためです。
だから私は、これは私が主張して使用しています方法です
Text=\
some text\n\
to be\n\
asserted\n\
based on \\d ratings
を使用してみました:
Assert.assertEquals(PropertyLoader.loadProperty("filename.properties", "Text"),actual);
実際には、私がactual.getText()
これはloadPropertyメソッドを持つクラスです
class PropertyLoader {
static String loadProperty(String file, String name) {
Properties props = new Properties();
try {
props.load(getResourceAsStream(file));
} catch (IOException e) {
e.printStackTrace();
}
return props.getProperty(name);
}
}
最終的な結果は、私が
比較の失敗を取得していますということです。
これはさえ可能であるか、私は単に何かをしないのですかどうかわかりませんか?
'のassertEqualsがありますが代わりに正規表現文字列を格納し、あなたを停止するには何もないですが、 'メソッドは正規表現にマッチしようとしません - あなたは別のアサーションを使わなければなりません。 – jsheeran
プロパティキーを正規表現としてマークし、それらをパターンとしてロードしようとするロジックを追加して、 'assertTrue'などを呼び出してパターンを与えられた' String'と一致させることができます。 – Mena
assertTrue(testString.matches(regex))のようなものを使うことができます。 Btw、\ dは1桁にしか一致しないので、\ dはそれをカットしません。 \ d +または\ d {4}を使用する必要があります... – mtj