powermock相关内容
我想模拟一个继承的受保护方法.我不能直接从java代码调用这个方法,因为它是从另一个包中的类继承的.我找不到在 when(...) 中指定此方法存根的方法 包一个;公共类 A() {受保护的 int m() {}}b包;公共类 B 扩展 a.A {//这个类目前没有覆盖 a.A 中的 m 方法公共 asd() {}}//测试b包;类 BTest {@测试公共无效测试类(){B 实例 = Pow
..
我正在设置模拟类的静态方法.我必须在 @Before 注释的 JUnit 设置方法中执行此操作. 我的目标是设置类来调用真正的方法,除了那些我明确模拟的方法. 基本上: @Before公共无效 setupStaticUtil() {PowerMockito.mockStatic(StaticUtilClass.class);//模拟某些方法...when(StaticUtilClas
..
我有一个类似下面的代码: A 类 {公共布尔我的方法(someargs){MyQueryClass 查询 = new MyQueryClass();长 id = query.getNextId();//更多代码}}类 MyQueryClass {……公共长 getNextId() {//很多数据库代码,执行一些数据库查询返回标识;}} 现在我正在为 A.myMethod(someargs) 编
..
我想从一个包含 2 个静态方法 m1 和 m2 的类中模拟一个静态方法 m1.我希望方法 m1 返回一个对象. 我尝试了以下 1) PowerMockito.mockStatic(Static.class, new Answer() {@覆盖公共长答案(InvocationOnMock 调用)抛出 Throwable {返回 1000 升;}}); 这同时调用了 m1
..
有时当我编写单元测试时,我应该模拟对超类的引用. 我读过这个问题:问题 此答案answer with DI 建议重构代码.但我做不到 如果超类方法足够大,则此答案另一个答案不适合.就我而言,我有非常大的代码.是的,我知道它违反了 SOLID OOD 原则,但我应该编写测试.我没有足够的时间进行重构. 该问题是 4 年前提出的! 目前 Mockito 或 Powermo
..
我有一个类,它连接到 H2 数据库并运行多个 SQL 语句. 公共类 H2Persistence 实现 IPersistence {私人连接连接;@覆盖公共无效打开(){尝试{Class.forName("org.h2.Driver");conn = DriverManager.getConnection(CONN_TYPE_USER_HOME);最终语句 stmt = conn.createS
..
我有这样的场景 InputStreamReader reader = new InputStreamReader(getFileAsStream(resourceResolver, iconpath));BufferedReader bReader = new BufferedReader(reader); 我一直嘲讽到现在 getFileAsStream(resourceResolver,
..
我创建了一个新的 Android 测试项目.我从 https://code.google.com/p/下载了 powermock-mockito-junit-1-1.5.zippowermock/下载/列表.我将所有库添加到测试项目的 libs 文件夹中.测试类是一个非常简单的对象: 包com.test.test;导入 org.junit.runner.RunWith;导入 org.powerm
..
在我使用 Mockito 的单元测试中,我想验证 NullPointerException 没有被抛出. public void testNPENotThrown{调用 call= Mock(Calling.class);testClass.setInner(调用);testClass.setThrow(true);testClass.testMethod();验证(调用,从不()).方法();
..
我通过 Eclipse 中的 JVM 参数在系统变量中设置了一个文件夹路径,我试图在我的类中访问它:System.getProperty("my_files_path"). 在为此类编写 junit 测试方法时,我尝试模拟此调用,因为测试类不考虑 JVM 参数.我使用 PowerMockito 模拟静态 System 类,并尝试在调用 System.getProperpty 时返回一些路径.
..
我正在使用 PowerMock 编写单元测试,模拟一些实用程序类的行为.为测试类定义一次行为(通过@BeforeClass 注解)原因: 第一次测试调用以返回模拟值 第二次测试调用返回真正的方法返回值 示例代码: import org.junit.Assert;导入 org.junit.BeforeClass;导入 org.junit.Test;导入 org.junit.runne
..
我的项目中有一些静态 util 方法,其中一些只是传递或抛出异常.有很多关于如何模拟具有除 void 之外的返回类型的静态方法的示例.但是,我如何模拟一个将 void 返回到“doNothing()"的静态方法? 非空版本使用以下代码行: @PrepareForTest(StaticResource.class) ... PowerMockito.mockStatic(StaticRe
..
我不确定如何模拟枚举单例类. 公共枚举 SingletonObject{实例;私有整数;受保护的 setNum(int num) {this.num = num;}公共 int getNum() {返回编号;} 我想在上面的例子中存根 getNum(),但我不知道如何模拟实际的 SingletonObject 类.我认为使用 Powermock 来准备测试会有所帮助,因为枚举本质上是最终的.
..
运行单元测试时发生以下异常: org.apache.maven.lifecycle.LifecycleExecutionException: ExecutionException;嵌套异常是 java.util.concurrent.ExecutionException: java.lang.RuntimeException: 分叉的 VM 没有说再见就终止了.VM 崩溃或 System.exi
..
PowerMockito 中的注释 @PrepareForTest 到底是什么意思? 除了具有静态方法的类之外,还应该放置什么? 解决方案 那个注解告诉 PowerMock(ito) 列出的类需要在字节码级别进行操作. 您需要“准备测试"所有这些类 X 模拟 static 方法(在 X 上)莉>控制对new() 用于另一个类 X 获得对私有方法的控制(您使用间谍和 P
..
我试图模拟一个进行 JNDI 调用的私有方法.当从单元测试中调用该方法时,它会引发异常^.我想模拟该方法以进行测试.我使用了另一个问题答案中的示例代码,虽然测试通过,但似乎底层方法仍然被调用.我在 doTheGamble() 方法中插入了一个 System.err.println(),它被打印到我的控制台. 很有趣,如果我注释掉第一个 assertThat,测试就通过了.?:( 那么,
..
我尝试将 junit、mokito 和 powermock 设置在一起,但是当我运行测试时,我得到 ClassNotFoundException :( testCompile 'junit:junit:4.12'testCompile 'org.mockito:mockito-core:2.7.22'androidTestCompile 'org.mockito:mockito-core:2.7
..
嗨,我有一个方法可以将 URL 作为输入并确定它是否可访问.代码如下: public static boolean isUrlAccessible(final String urlToValidate) 抛出 WAGNetworkException {URL url = null;HttpURLConnection huc = null;int responseCode = -1;尝试 {url
..
我很难找到设置类的静态字段的方法.基本上是这样的: 公共类Foo{//...私有静态 B b = 空;} 其中 B 是另一个类. 除了 setInternalStateFromContext() 之外,在 PowerMock 中还有什么方法可以做到这一点吗?使用上下文类方法设置一个字段似乎有点矫枉过正. 谢谢. 解决方案 Whitebox.setInternalState(
..
我们在一些历史项目中使用了 PowerMock.不幸的是,PowerMock 已经死了,并且与 Java 11 不兼容. 我们使用的是 mockStatic().是的,我们知道它被认为是有害的——它在遗留代码中,我们现在不想重写这些类...... 是否有任何选项可以调整 PowerMock 以支持 Java 11?或者是否可以用其他一些 Java 11 兼容框架轻松替换它?(Mocki
..