junit中assertTrue的第二个参数可以是一个字符串吗?

时间:2014-01-27 09:30:54

标签: java junit assert

我看到以下junit代码:

public class Student {
    String name;

    public String getName()
    {
        return name;
    }
}
Junit中有一个测试用例:

public void testName()
{
        Student student;
        assertTrue("can not get the info" + student.getName(), student.getName());
}

基于assertTrue(java.lang.String message, boolean condition)的API,assertTrue的第二个参数是布尔值,但为什么student.getName()可以用作assertTrue的第二个参数?

3 个答案:

答案 0 :(得分:2)

您应该使用assertEquals()来表示这种情况。

assertEquals("your result","expected result");

答案 1 :(得分:2)

测试单元意味着测试“观察到预期”您需要预期值,然后

assertTrue("can not get the info" + student.getName(), student.getName().equals("expected value"));

或更好(由Ruchira +1消化)

assertEquals(student.getName(),"expected value")

NullPointerException安全

答案 2 :(得分:1)

您使用了'+'符号(java字符串连接运算符),它将student.getName()的结果附加到现有字符串。所以没关系。有一个字符串和一个布尔参数。