【问题标题】:Powermock with Mockito使用 Mockito 进行 Powermock
【发布时间】:2023-03-03 16:15:01
【问题描述】:

我正在尝试将 PowerMock 与 Mockito 一起使用,但 PowerMock.replayAll();和 PowerMock.verifyAll();在我的 Eclipse 环境中找不到。使用此下载链接:

http://code.google.com/p/powermock/downloads/detail?name=powermock-mockito-junit-1.5.zip&can=2&q=

并在此处下载 EasyMock:

http://sourceforge.net/projects/easymock/files/EasyMock/3.1/easymock-3.1.zip/download 

将所有 jars 添加到我的 libs 目录(从我的构建路径中删除它)。任何人?谢谢!

源码Android项目和测试项目:

https://github.com/powder366/test
https://github.com/powder366/testtest

例子。

package com.test

import static org.junit.Assert.*;
import org.easymock.EasyMock;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.PowerMockUtils;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
@PrepareForTest(Greeter.class)
public class MockStaticExampleTest {
    @Test
    public void mockStaticExample() throws Exception {
        String expectedGreeting = "greeting";
        String nameToGreet = "name";

        PowerMockito.mockStatic(Greeter.class);
        EasyMock.expect(Greeter.getGreeting(nameToGreet)).andReturn(expectedGreeting);
        PowerMock.replayAll();

        String actualGreeting = Greeter.getGreeting(nameToGreet);

        PowerMock.verifyAll();
        assertEquals("Expected and actual greeting did not match", expectedGreeting, actualGreeting);
    }
}

【问题讨论】:

  • 在标题中你说“PowerMock with Mockito”。在问题正文中,您提到了 Easymock。您尝试使用 PowerMock 扩展哪个库:Mockito 还是 EasyMock?

标签: java android mockito powermock


【解决方案1】:

您不必将jars 添加到Eclipse 构建路径,但您必须将jars 放在libs 文件夹中。 ADT 将执行导入它所需的操作。

【讨论】:

  • 您错过了添加 dexmaker.jar。不需要了吗?
  • 我不确定,但我试过了,没有区别。从code.google.com/p/dexmaker/downloads/…获得dexmaker
  • 可能是 Eclipse 弄乱了构建路径。可以尝试创建一个新的测试项目吗?
  • 同样的事情,上传了源代码。
  • 我终于下载了:code.google.com/p/powermock/downloads/… 它与 PowerMock.replayAll();和 PowerMock.verifyAll();
【解决方案2】:

我终于下载了:

http://code.google.com/p/powermock/downloads/detail?name=powermock-easymock-1.5-full.jar&can=2&q= 

它与 PowerMock.replayAll();和 PowerMock.verifyAll();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多