Java 如何使用FEST assertThat(…)方法测试类对象之间的相等性?
如何使用FESTJava 如何使用FEST assertThat(…)方法测试类对象之间的相等性?,java,junit4,fest,assertj,Java,Junit4,Fest,Assertj,如何使用FESTassertThat(…)方法测试类对象是否相等 例如: import static org.fest.assertions.api.Assertions.assertThat; @Test public void test() throws Exception { assertThat(findClass()).isEqualTo(Integer.class); } private Class<?> findClass() { // logic
assertThat(…)
方法测试类对象是否相等
例如:
import static org.fest.assertions.api.Assertions.assertThat;
@Test
public void test() throws Exception {
assertThat(findClass()).isEqualTo(Integer.class);
}
private Class<?> findClass() {
// logic for finding a class object
return String.class;
}
导入静态org.fest.assertions.api.assertions.assertThat;
@试验
public void test()引发异常{
assertThat(findClass()).isEqualTo(Integer.class);
}
私有类findClass(){
//查找类对象的逻辑
返回字符串.class;
}
以上内容无法编译。
isEqualTo
方法有问题。我是否应该使用其他方法来测试类对象之间的相等性?首先,您应该使用;FEST已经过时了。但由于AssertJ使用类似的语法,因此转换将很容易
其次,使用AssertJ,这是开箱即用的。。。这为我汇编了:
// irrelevant code, then
assertThat(findClass()).isEqualTo(Integer.class);
}
private Class<?> findClass()
{
return Integer.class;
}
//不相关的代码,然后
assertThat(findClass()).isEqualTo(Integer.class);
}
私有类findClass()
{
返回Integer.class;
}
那么,您可能还有另一个问题?如果您使用的是assertJ,正确的方法是使用
isInstanceOf()
方法。如果可能,请始终使用更具体的assertJ匹配器。它们更具语义,并给出更好的错误结果
没问题;)请注意,由于Class
“实例”是单例,因此可以使用.isSameAs()
assertThat(object).isInstanceOf(Foo.class);