类名必须在方法之前,必须是MatcherAssert.assertThat(),而不仅仅是assertThat()吗?

时间:2018-08-28 21:16:53

标签: java matcher assertion hamcrest

我正在使用Hamcrest Matchers进行测试。为什么我必须写

MatcherAssert.assertThat(a, Is.is(b));

不仅仅是这个吗?

assertThat(a, is(b));

当我尝试使用后者时,我的程序出错。我真的很希望能够使用后者,因为我需要真正不知道如何编码的人可以读取此代码。

1 个答案:

答案 0 :(得分:2)

添加

即可满足您的需求
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;

到文件的导入部分。静态导入是Java语言在1.5中引入的,您可以在此处了解更多信息:https://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html

某些编程环境支持自动为您喜欢的方法和类添加静态导入。在Eclipse中,转到“窗口”>“首选项”>“ Java”>“编辑器”>“ Content Assist”>“收藏夹”,然后在其中添加MatcherAssert类。