我正在尝试测试具有特定值的公共变量。问题是我正在测试公共变量,而不是JavaBean。
Assert.assertThat(clientMapper.entries, Matchers.<ClientMapper.MapperEntry>hasItem(
Matchers.allOf(
Matchers.hasProperty("from", Matchers.is("/v1")),
Matchers.hasProperty("to", Matchers.is("/v2"))
)
));
我正在测试的课程是
public static class MapperEntry {
public String from;
public String to;
}
测试失败,因为找不到可理解的JavaBean属性
from
和to
,但是如何测试公共字段?更新:我正在尝试找到针对Java 7的解决方案
最佳答案
NitorCreations' matchers library具有字段的匹配器:
Assert.assertThat(clientMapper.entries, Matchers<ClientMapper.MapperEntry>hasItem(
Matchers.allOf(
com.nitorcreations.Matchers.hasField("from", Matchers.is("/v1")),
com.nitorcreations.Matchers.hasField("to", Matchers.is("/v2"))
)));
关于java - JUnit的hamcrest库是否具有用于测试公共(public)变量而非属性的API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33674130/