我一直在尝试弄清楚如何在Junit4中运行带参数的测试,同时还要使用PowerMock。问题是,要使用PowerMock,您需要用其修饰您的测试类
@RunWith(PowerMockRunner.class)
要使用参数化测试,你需要用装饰器来修饰。
@RunWith(Parameterized.class)
从我所看到的,它们似乎是相互排斥的!?这是真的吗?有没有什么办法解决这个问题?我尝试在使用PowerMock运行的类中创建一个参数化类,就像这样:
@RunWith(PowerMockRunner.class)
class MyTestClass {
@RunWith(Parameterized.class)
class ParamTestClass {
// Yadayada
}
}
但不幸的是,这并没有什么好处... ParamTestClass
仍然无法运行 PowerMock(也许并不令人惊讶)... 我已经没有更多的想法了,如果有任何帮助,将不胜感激!
更新: 对于未来的搜索者,还可以参考:在没有 RunWith 的情况下使用 PowerMock?
@PrepareForTest(StaticClass.class)
,通过在这些注释下面添加它就可以工作了。 - Jonathan JOhxpl.pragmatists
的JUnitParams
一起使用,只需将其用作委托:@PowerMockRunnerDelegate(JUnitParamsRunner.class)
。 - jbaranski