为什么javers抛出"参数不应为null"当比较对象不为null时,在mockito测试中?

时间:2015-05-21 17:04:39

标签: java mockito javers

我在应用的不同部分使用了javers。现在我将它添加到另一个,并且我得到一个IllegalArgumentException:参数不应该为null。但是我已经验证(通过序列化对象并记录它们),当传递给compare()方法时,2个对象不为null。

此外,这只发生在通过Mockito进行的单元测试中。我假设传入的对象的属性为null,这就是创建错误的原因。但是,对于要检测的javers的有效比较,是不是null属性?

我使用的是javers 1.1版。

这是我的代码片段:

private static final Javers javers = JaversBuilder.javers().build();
Diff difference = javers.compare(object1, object2);

这是堆栈跟踪:

java.lang.IllegalArgumentException: argument should not be null
    at org.javers.common.validation.Validate.argumentIsNotNull(Validate.java:16)
    at org.javers.common.validation.Validate.argumentIsNotNull(Validate.java:24)
    at org.javers.common.validation.Validate.argumentsAreNotNull(Validate.java:32)
    at org.javers.core.metamodel.type.SetType.map(SetType.java:21)
    at org.javers.core.diff.appenders.SetChangeAppender.calculateEntryChanges(SetChangeAppender.java:63)
    at org.javers.core.diff.appenders.SetChangeAppender.calculateChanges(SetChangeAppender.java:89)
    at org.javers.core.diff.appenders.SetChangeAppender.calculateChanges(SetChangeAppender.java:20)
    at org.javers.core.diff.DiffFactory.appendChanges(DiffFactory.java:142)
    at org.javers.core.diff.DiffFactory.appendPropertyChanges(DiffFactory.java:132)
    at org.javers.core.diff.DiffFactory.createAndAppendChanges(DiffFactory.java:114)
    at org.javers.core.diff.DiffFactory.create(DiffFactory.java:65)
    at org.javers.core.diff.DiffFactory.compare(DiffFactory.java:58)
    at org.javers.core.JaversCore.compare(JaversCore.java:75)

2 个答案:

答案 0 :(得分:0)

您使用的是哪个Javers版本?我想我已经在1.2.0修复了这个NPE。 尝试最新的Jvers版本,请参阅http://javers.org

答案 1 :(得分:0)

我更新到版本1.2.1并解决了这个问题。