我有一个基于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上下文?
答案 0 :(得分:0)
您是否通过编写如下方法尝试使用PowerMockTestCase
,而不是扩展PowerMockObjectFactory
?然后你可以扩展AbstractTestNGSpringContextTests
。
@ObjectFactory public IObjectFactory getObjectFactory() { return new org.powermock.modules.testng.PowerMockObjectFactory(); }
这是Powermock GitHub docs建议的。