我正在尝试使用mrunit,但是我所看到的例子中没有一个与我所尝试的完全匹配。
我的减速机输出一个键和突变,但我似乎无法将突变与预期进行比较。它显示的对象相同,但地址为0,并出现以下错误:
junit.framework.AssertionFailedError: expected: <org.apache.accumulo.core.data.Mutation@0> but was <org.apache.accumulo.core.data.Mutation@0>
我正在使用reducedriver.run()方法,并尝试在预期的突变对象上使用实际的assertequals。我有什么遗漏吗?
谢谢你的意见。
3条答案
按热度按时间zlhcx6iw1#
突变没有适当的equals()实现。最好是比较getupdates()和getrow()的结果。它们分别返回一个列表和一个字节[],这些很容易比较。
hgc7kmma2#
变异有一个合适的equals()方法,至少在1.4.x行中是这样。但是,该方法调用私有serialize()方法,该方法修改要检查的数据。
在过去,我通过将突变 Package 在一个新的突变中来解决这个问题,这个突变称为serialize under the hood:
holgip5t3#
您可以扩展变异并将新类传递给mrunit。在新类中重写equals。