因此,我一直在四处寻找解决此问题的方法,但是我遇到了编译器错误或怪异的期望,或两者兼而有之。
所以我们开始:

this.mockPersonNode.setProperty("fname",new String[] {"John"});
...unrelated code...
//validate traits
final String[] fname = (String[]) groovy.getProperty("firstName");
//This is where my problems lie
assertThat(fname, hasProperty("John"));


因此,此代码可以正常编译,但是当我在Maven中进行构建时,测试失败,原因是:Expected: hasProperty("John"), got:[John]

因此,我做了一些查找,并检查了其他人在这里得到回答的问题,但是我遇到了编译错误,显然我在做assertThat错误,但是应该如何设置assertThat?

最佳答案

使用hasItemInArray匹配器:

assertThat(fname, hasItemInArray("John"));


hasProperty匹配器匹配Java Bean属性。

关于java - 如何将Hamcrest的AssertThat用于String [],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31440250/

10-12 01:43