TestNG + Spring + Power模拟单元测试

时间:2016-01-06 02:19:57

标签: spring unit-testing powermockito

我有一个基于Spring的应用程序,我正在进行单元测试。我正在使用TestNG进行单元测试。对于我的测试,我需要使用PowerMockito来模拟一些静态方法。我还需要使用测试弹簧配置文件仅用于我的单元测试。

我无法编写我的单元测试,结合所有三个,即TestNg,PowerMock和Spring。

我可以通过扩展AbstractTestNGSpringContextTests类来组合TestNG和Spring,但不能模拟静态方法,而是执行实际的静态方法。如下所示:

signed char

我可以通过扩展PowerMockTestCase类将TestNG与PowerMockito结合起来。但是测试弹簧配置文件没有解决。如下所示:

@PrepareForTest(MyUtils.class)
@ContextConfiguration(locations = { "classpath:config/test-context.xml"})
public class MyImplTest extends AbstractTestNGSpringContextTests{

.....

}

我有没有办法编写我的单元测试,结合所有三个,即TestNg,PowerMockito和Spring上下文?

1 个答案:

答案 0 :(得分:0)

您是否通过编写如下方法尝试使用PowerMockTestCase,而不是扩展PowerMockObjectFactory?然后你可以扩展AbstractTestNGSpringContextTests

@ObjectFactory
public IObjectFactory getObjectFactory() {
    return new org.powermock.modules.testng.PowerMockObjectFactory();
}

这是Powermock GitHub docs建议的。