【问题标题】:Using List.of() in unit tests fails with IncompatibleClassChangeError when run with PowerMockRunner与 PowerMockRunner 一起运行时,在单元测试中使用 List.of() 失败并出现 IncompatibleClassChangeError
【发布时间】:2022-09-23 13:16:14
【问题描述】:

在使用 PowerMockRunner 运行时,在 Junit 测试中使用 List.of() 会失败。这在使用MockitoJUnitRunner 运行时非常有效。当我们执行下面的代码

@RunWith(PowerMockRunner.class)
public class ListOfTest {

  @Test
  public void test() {
    assertTrue(List.of(1, 2).size() == 2);
  }
}

带有错误消息的 IncompatibleClassChangeError

java.lang.IncompatibleClassChangeError: Method \'java.util.List java.util.List.of(java.lang.Object, java.lang.Object)\' must be InterfaceMethodref constant

    标签: java junit powermock


    【解决方案1】:

    巧合地运行JDK11?

    JDK11的Powermock问题

    【讨论】:

    • 我看不出这如何回答本页顶部的问题,但应该如此。请edit根据How to Answer或删除答案。否则,它可能会被标记为“不是答案”并被删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多