gpt4 book ai didi

java - 是否可以模拟在被测类中创建的服务?

转载 作者:行者123 更新时间:2023-11-30 10:11:29 25 4
gpt4 key购买 nike

我希望能够模拟 SomeService,但是,因为它是一个 Maven 插件,所以我无法控制此类的创建方式。我需要手动创建 SomeService,因为我不能在构造函数或其他地方使用它。在测试中,我可以模拟 SomeService - 但它将被 execute() 方法中创建的新实例替换。是否可以使用 PowerMockito 之外的其他方式模拟此服务??

@Mojo(name = "hellomojo")
public class HelloMojo extends AbstractMojo {

private SomeService service;

@Override
public void execute() throws MojoExecutionException {
service = createService();
}

private SomeService createService() {
return new SomeService(parameter);
}
}

最佳答案

我最好的猜测是将 createService() 方法包设为私有(private)并创建覆盖它并始终返回模拟的 HelloMojoWrapperForTests。但这似乎是一个巨大的解决方法,只是为了测试......

关于java - 是否可以模拟在被测类中创建的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52420576/

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