为什么 javers 在 mockito 测试中抛出 "argument should not be null" 当比较的对象不为空时?
Why is javers throwing "argument should not be null" when the compared objects are NOT null, in a mockito test?
我在我们应用程序的不同部分使用了 javers。现在我将它添加到另一个,并得到一个 IllegalArgumentException:参数不应该为空。但是我已经验证(通过序列化对象并记录它们)这两个对象在传递给 compare() 方法时不为空。
此外,这仅发生在通过 Mockito 进行的单元测试中 运行。我假设传入的对象中有一个 属性 为空,这就是造成错误的原因。但是 null 属性 不是 javers 检测的有效比较吗?
我正在使用 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)
您使用的是哪个 Javers 版本?我想我已经在 1.2.0 中修复了这个 NPE。
试试最新的 Jvers 版本,参见 http://javers.org
我更新到版本 1.2.1 并解决了这个问题。
我在我们应用程序的不同部分使用了 javers。现在我将它添加到另一个,并得到一个 IllegalArgumentException:参数不应该为空。但是我已经验证(通过序列化对象并记录它们)这两个对象在传递给 compare() 方法时不为空。
此外,这仅发生在通过 Mockito 进行的单元测试中 运行。我假设传入的对象中有一个 属性 为空,这就是造成错误的原因。但是 null 属性 不是 javers 检测的有效比较吗?
我正在使用 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)
您使用的是哪个 Javers 版本?我想我已经在 1.2.0 中修复了这个 NPE。 试试最新的 Jvers 版本,参见 http://javers.org
我更新到版本 1.2.1 并解决了这个问题。