我正在尝试测试具有特定值的公共变量。问题是我正在测试公共变量,而不是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找到解决方案
答案 0 :(得分:1)
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"))
)));
答案 1 :(得分:0)
我不这么认为。公共领域在Java中很少见,这可能就是为什么没有。您必须编写自己的toString()
来处理此问题。
如果该类具有正确的for(name in names(df)){
if(is.factor(df[[name]])){
class(df[[name]]) <- "numeric"
#df[[name]] <- as.numeric(df[[name]])
}
}
实现,那么您可以使用字符串或正则表达式匹配器。