Powermock mockstatic 不能继承最终类

新手上路,请多包涵

我正在尝试模拟最后一堂课

PowerMockito.mockStatic(TestFinalClass.class);

当我运行单个 junit 并将 javaagent 添加到我的 VM 参数时,它在我的 eclipse 中工作

-javaagent:{path}/powermock-module-javaagent-1.6.4.jar

但是当我尝试使用 maven build 命令从命令行运行所有测试用例时,我仍然得到“无法子类最终类”

下面是我的 pom.xml 片段

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <argLine>-javaagent:{path}/powermock-module-javaagent-1.6.4.jar</argLine>
            </configuration>
        </plugin>

原文由 user3755282 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 605
1 个回答
package test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
@PrepareForTest(FinalClass.class)
public class Tests {
    @Test
    public void test() {
    PowerMockito.mockStatic(FinalClass.class);
    }
}

这对我有用。如果添加“PowerMockRunner”和“PrepareForTest”注释,则不需要使用额外的 vm 参数。

原文由 wprzechodzen 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题