断言Junit输出不起作用

时间:2014-05-12 12:41:48

标签: java junit

我有一个方法(par.getstatus),它输出一条看起来像这样的消息: 3 :: 0 :: P:3 :: C:2个:: S:1 :: M:1 :: d:0 :: A:0 ::问:0null

问题出在我写的时候:

    String s = par.getStatus(3);
    assertTrue(s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null");

它不会返回true。我知道字符串是正确的,因为我将它打印到控制台,并直接复制并粘贴,检查我做了多次。为了检查它不是我使用的assertTrue方法是错误的,我写道:

    String d = "rr";
            assertTrue(s == "rr");

返回true。

有人说它可能是null导致问题,所以我删除了,但仍然没有运气。有谁知道这里的问题是什么?感谢

1 个答案:

答案 0 :(得分:0)

s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"

==比较两个字符串的引用,这两个字符串不是同一个Object。

使用String.equals()比较两个字符串的内容:查看this question

assertTrue(s.equals("3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"));