如何将我assertThat
的东西是null
?
例如
assertThat(attr.getValue(), is(""));
但是我收到一个错误消息,说我不能null
进入is(null)
。
您可以使用IsNull.nullValue()
方法:
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
assertThat(attr.getValue(), is(nullValue()));
有没有Hamcrest可以让我明确断言,返回对象的的方法的结果至少有一个对象包含具有特定值的属性? 例如: 测试下的方法返回一个的集合。我需要断言至少有一个人叫彼得。
我如何断言某个东西是? 举个例子 但是我得到一个错误,告诉我在中不能有。
我试图在spock或hamcrest中编写一个与域相关的自定义断言/匹配器,但我不确定如何继续。 我曾尝试在hamcrest编写一个自定义匹配器,但到目前为止,这只导致我找到了部分解决方案。 我正在寻找一些指导,关于在这种情况下正确的路线是什么。 域对象: ResultMap有一个对象Map 在我的spock测试中,我想做的事情是: 然后,内部代码将评估每个条目,并对内部对象进行适当的测试。 到目
我试图使用JUnit/Hamcrest断言集合至少包含一个自定义逻辑断言为true的元素。我希望有像“anyOf”这样的匹配器,它采用lambda(或匿名类定义),在这里我可以定义自定义逻辑。我试过TypeSafeMatcher,但不知道该怎么处理它。 我不认为任何一个是我想要的,因为这似乎需要一个匹配者的名单。
我可以很容易地用两种可能的结果进行断言: 但是,我需要执行断言,我的结果之一等于一些值: 上述方法有效,但是错误消息没有说明哪个结果是。Hamcrest有类似以下的吗?
我对使用hamcrest进行资产评估还很陌生,而且我已经有一个非常糟糕的案例需要测试。 我们有2个不同的自定义对象的数组列表:FilterItem和MyEnum。两者都包含一个属性——比方说“值”——单元测试要传递的属性应该相等。因为对象是不同的,所以我不能简单地断言它们包含的值,这使得断言更加困难。 在每个我想断言的单元测试中,我都将断言逻辑提取到一个新方法中,如下所示: 单元测试现在都通过了,