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

标签 java matcher assertion hamcrest

我正在使用 hamcrest 匹配器进行测试。为什么我一定要写

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

不仅仅是这个?

assertThat(a, is(b));

当我尝试使用后者时,我的程序出现错误。我真的希望能够使用后者,因为我需要这些代码对于那些真正不知道如何编码的人来说是可读的。

最佳答案

添加即可满足您的需求

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 中,转到“Window”>“Preferences”>“Java”>“Editor”>“Content Assist”>“Favorites”,然后在其中添加 MatcherAssert 类。

关于java - 类名必须在方法之前,必须是 MatcherAssert.assertThat() 而不仅仅是 assertThat()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066319/

相关文章:

java - 尽管 saveOrUpdate 失败,但版本已增加

java - 如何为基于 json 的插件设置 'docker plugin install'

java - 如何强制用户输入带有符号的密码?

java - 从java中的多行文本中提取键值对

sql - SQL Server 2008 是否支持 CREATE ASSERTION 语法?

对具有时间戳的函数进行 Python 单元测试

java - 向 JSP 发送请求并接收响应

c# - 泛型类型的术语

c++ - Flann Matcher 训练如何在 opencv 中工作?

java - 尽管列表相同,assertEquals 仍无法通过测试