修复消息“未定义 JunitAssertions 类型的方法 empty()”

问题描述

我正在使用 Junit 断言。我在使用 assertthat 时遇到了问题。下面的代码显示 'assertthat' 已被删除。 此外,无论我使用像空的匹配器是,equalsTo 我收到错误消息,因为“方法 empty() 未定义为类型 JunitAssertions”。 我项目中使用的Junit版本是4.11。

我的问题是需要做什么才能使用 assertthat 断言?。

从我的项目中复制的代码

[1 or 2 or 3]

解决方法

assertThatHamcrest 的断言方法。 JUnit 决定不再支持这些断言,因为 Hamcrest 提供了它自己的 assertThat(参见 PR 1150)。对您来说,这意味着添加导入

import static org.hamcrest.MatcherAssert.assertThat

和删除

import static org.junit.Assert.*

如果您只使用 Hamcrest 断言。您还需要为 empty() 等匹配器进行静态导入。基本匹配器在 CoreMatchers

类中
import static org.hamcrest.Matchers.*;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...