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

相关问题