gpt4 book ai didi

spring - TestNG + Spring + Power mock 单元测试

转载 作者:行者123 更新时间:2023-12-04 16:07:40 26 4
gpt4 key购买 nike

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

我无法编写结合所有三者(即 TestNg、PowerMock 和 Spring)的单元测试。

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

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

.....

}

我可以通过扩展类 PowerMockTestCase 将 TestNG 与 PowerMockito 结合起来。但随后测试 spring 配置文件未解析。类似于以下内容:
@PrepareForTest(MyUtils.class)
@ContextConfiguration(locations = { "classpath:config/test-context.xml"})
public class MyImplTest extends PowerMockTestCase{

.....

}

有什么方法可以让我编写结合所有三者的单元测试,即 TestNg、PowerMockito 和 Spring 上下文?

最佳答案

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

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


这是由 Powermock GitHub docs 建议的.

关于spring - TestNG + Spring + Power mock 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34624593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com