2016-12-18 26 views
-1

私は以下のテストケースがうまくいくと仮定しましたが、そうではありません。 理由は、JsonObjectから取得した文字列が"\""\\"に置き換えたためです。文字列が同じでないのはなぜですか?

これは正しい動作であり、安全な回避策がありますか?

@Test 
public void stringTest() 
{ 
    Path path = Paths.get("myFile.txt"); 

    JsonObject json = Json.createObjectBuilder().add("path",path.toAbsolutePath().toString()).build(); 

    Assert.assertTrue(json.get("path").toString().contains(path.toAbsolutePath().toString())); 
} 
+0

言語にタグを付けて、内容やmyFile.txtの関連部分を表示してください。 – JJJ

+0

"Java"で質問にタグ付けしました。 "myFile.txt"の内容は私の質問には関係ありません。 –

+0

JSON ObjectBuilderがバックスラッシュをマスクしているようです。これはあなたができること Assert.assertTrue(json.get( "path")。toString()。(path.toAbsolutePath()。toString()。replaceAll( "\\"、 "\\\\")); – Cengiz

答えて

0

ありがとうございます。私は私の心をきれいにする助けが必要でした。 ライブラリを間違って使用しました。

Iからアサートラインを変更した場合:に

json.get("path").toString().contains(... 

json.getString("path").equals(..... 

すべてがうまく動作します。

//lg

関連する問題