gpt4 book ai didi

java - PrepareForTest 导致 class.getPackage() 返回 null,解决方法吗?

转载 作者:行者123 更新时间:2023-11-30 06:21:27 26 4
gpt4 key购买 nike

我试图模拟一个私有(private)静态最终字段,但该类有一个调用 class.getPackage() 的方法,当我使用 @PrepareForTest 时,该方法返回 null。

package a.b.c.d;

public class Model {
private static final String abc = createNewString();

private static String createNewString() {
return Model.class.getPackage().getName();
}
}

@RunWith(PowerMockRunner.class)
public class ModelTest {

@Test
@PrepareForTest()
public void test() throws Exception {
new Model();
}
}

最佳答案

方法 getPackage 返回类的包,如果存档或代码库中没有可用的包信息,则返回 null。

要修复错误,请在包内定义类Model

编辑:

要模拟 Model 类的静态方法,请按照以下说明操作: https://github.com/powermock/powermock/wiki/mockstatic

关于java - PrepareForTest 导致 class.getPackage() 返回 null,解决方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com