【发布时间】:2022-01-03 11:24:24
【问题描述】:
在我的应用程序中运行 junit-test 时出现此错误。后来我发现是因为declared field size
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(TimSort.java:899)
at java.util.TimSort.mergeAt(TimSort.java:516)
at java.util.TimSort.mergeCollapse(TimSort.java:441)
...
org.mockito.internal.configuration.injection.PropertyAndSetterInjection.orderedInstanceFieldsFrom(PropertyAndSetterInjection.java:125)
我发现可能的解决方案是在 VM args 中添加此标志。-Djava.util.Arrays.useLegacyMergeSort=true。但我想在 pom.xml 中添加
我提到了这个how to add VM args using pom xml,但它主要指的是 -X 标志,这里的合适位置是什么?
【问题讨论】:
-
您是否考虑过更新 Mockito?
-
不,我不能在这里更新 Mockito,它是一个很大的旧项目
-
我用 maven 运行这个项目,@Kayaman,谢谢你的提问
-
systemPropertyVariables适合你吗?见maven.apache.org/surefire/maven-surefire-plugin/examples/… -
没有@Lesiak,因为我没有使用 maven-surefire-plugin
标签: java maven junit mockito pom.xml