如何理解AssertThat(JUnit)?

时间:2015-06-19 11:29:14

标签: eclipse junit assert

为了理解JUnit,我编写了以下代码。特别是,我对assertThat() - 方法感兴趣。

package test;

public class Equals {

    private String x ; 

    public Equals(String a){

        this.x = a; 
    }

    public Equals equals(Equals x ){
            return x; 
    }
}

然后我创建一个测试类来测试equals() - 方法。

package test;


import static org.junit.Assert.*;

import org.hamcrest.Matcher;
import org.junit.Test;

public class EqualsTest {

    @Test
    public void testEquals() {
        Equals t1 = new Equals("test");

        assertThat(t1, t1.equals("test"));
    }


}

Eclipse使用red强调assertThat并建议:创建方法assertThat(Equals,boolean)。

enter image description here

其他断言方法(如assertEquals()等)非常简单,但这个对我来说并不那么直观。我不明白这个。请帮忙。

最好的问候,

2 个答案:

答案 0 :(得分:1)

你必须在这个方法中使用一些匹配器,而不是布尔值。

例如,您可以将is匹配器用于您的目的:

assertThat("this string", is("this string"));

看看这个:http://tutorials.jenkov.com/java-unit-testing/matchers.html

答案 1 :(得分:0)

assertThat是Hamcrest断言库的一部分。请查看Hamcrest的网站:http://hamcrest.org/JavaHamcrest/