我正在尝试测试具有特定值的公共变量。问题是我正在测试公共变量,而不是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属性fromto,但是如何测试公共字段?

更新:我正在尝试找到针对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/

10-14 09:04