我一直在试图找出如何在Junit4连同PowerMock运行参数测试。问题是,使用PowerMock你需要来装饰你的测试类

@RunWith(PowerMockRunner.class)

和使用参数测试你有装饰

@RunWith(Parameterized.class)

这是我所看到的,他们似乎相互排斥!?这是真的?有没有办法解决?我试图创建一个类的运行与PowerMock内的参数化类;是这样的:

@RunWith(PowerMockRunner.class)
class MyTestClass {
     @RunWith(Parameterized.class)
     class ParamTestClass {
          // Yadayada
     }
}

但不幸的是这并没有做太多好...的ParamTestClass仍然不PowerMock支持(不是令人惊讶的也许)运行......而且我有种江郎才尽因此任何帮助是极大的赞赏!

<强>更新 对于未来的Google也看到:使用PowerMock不所述RunWith?

有帮助吗?

解决方案

我有同样的问题。不幸的是它不会让我使用PowerMock规则由于JVM我了。取而代之的是规则的我用RunnerDelegate。

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)

其他提示

这是由工作如果您使用JUnit使用PowerMock 规则使用 4.7+

您不能同时使用两个类选手,所以你肯定是要编写自己的测试运行,以实现这一目标。

我不知道Powermock什么,但研究10秒后,它看起来像一个解决办法是写一个使用powermock的类加载器和运行参数测试的测试亚军。如果你能弄清楚如何从您的自定义测试运行中委托给参数测试运行,这可能是你最好的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top