【问题标题】:@RunWith(JUnitParamsRunner.class) and PowerMockRule@RunWith(JUnitParamsRunner.class) 和 PowerMockRule
【发布时间】:2015-01-05 06:07:41
【问题描述】:

在我的代码中,我在类级别使用@RunWith(JUnitParamsRunner.class),在测试类中我必须使用PowermockRule

代码是这样的

@RunWith(JUnitParamsRunner.class)
public class ClassName
{
    @Mock
    Class c1;

    @Rule
    PowerMockRule rule=new PowerMockRule();

    @Before
    setUp()
    {
        MockitoAnnotations.initMocks(this);
    }

    //Test Case here
}

它给了我 java.lang.ExceptionInInitializerError

我不确定我们是否不允许在 setUp 方法中初始化它。

我尝试使用@PowerMockRunnerDelegate(JUnitParamsRunner.class),但这也给了我匹配器错误。 Using Mockito 1.9 and PowerMock 1.5

你能帮我找出我做错了什么吗?

【问题讨论】:

  • 这里的代码无法编译。你能先修复编译错误吗?
  • 代码现已更正
  • 您使用的是 Mockito 1.9.0 还是 1.9.5?因为根据 wiki PowerMock 1.5 仅适用于 Mockito 1.9.5:code.google.com/p/powermock/wiki/MockitoUsage13

标签: java junit mockito powermock


【解决方案1】:

我在使用@PowerMockRunnerDelegate (JUnitParamsRunner.class) 方法时遇到了完全相同的匹配器问题。我不断尝试和错误,最后我发现当我在每个单独的方法下添加 @PrepareForTest 注释而不是仅在类级别时它可以工作。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2021-10-01
    • 2017-07-04
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多