如何使用FEST 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;
}
以上不编译。 isEqualTo
方法抱怨。我应该使用其他方法来测试类对象之间的相等性吗?
答案 0 :(得分:1)
首先你应该使用AssertJ; FEST已经过时了。但由于AssertJ具有类似的语法,因此过渡很容易。
第二,好吧,使用AssertJ,这开箱即用......这为我编译:
// irrelevant code, then
assertThat(findClass()).isEqualTo(Integer.class);
}
private Class<?> findClass()
{
return Integer.class;
}
那么,也许你还有其他问题?
答案 1 :(得分:1)
如果您正在使用assertJ,正确的方法是使用isInstanceOf()
方法。在可能的情况下,始终使用更具体的assertJ匹配器。它们更具语义性,并提供更好的错误结果。
assertThat(object).isInstanceOf(Foo.class);