2016-12-18 103 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

請標記language並顯示myFile.txt的內容或相關部分。 – JJJ

+0

我用「Java」標記了問題。 「myFile.txt」的內容與我的問題無關。 –

+0

似乎JSON ObjectBuilder掩蓋了反斜槓。所以你可以做 Assert.assertTrue(json.get(「path」)。toString()。contains(path.toAbsolutePath()。toString()。replaceAll(「\\」,「\\\」)); – Cengiz

回答

0

謝謝大家。我需要一些幫助來清除我的想法。 我用錯了庫。

如果我從改變斷言行:

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

到:

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

這一切運作良好。

// lg

相關問題