gpt4 book ai didi

spring - 使用 Spock 在 Spring 中测试 Mock Bean

转载 作者:行者123 更新时间:2023-12-02 08:23:07 24 4
gpt4 key购买 nike

我遇到了 spock 不允许在规范之外创建模拟的问题 - How to create Spock mocks outside of a specification class?

这似乎仍然很突出,所以我问的是,假设我有一个复杂且嵌套的 DI 图,在图中深处“注入(inject)”模拟表示的最有效方法是什么?

理想情况下,我有一个用于正常部署的 bean 定义集,在运行单元测试时有另一个 bean 定义集,并且该定义集是适用的 Mocks

例如

@Configuration
@Profile("deployment")
public class MyBeansForDeployment {

@Bean
public MyInterface myBean() {
return new MyConcreateImplmentation();
}

}

&&

@Configuration
@Profile("test")
public class MyBeansForUnitTests {

@Bean
public MyInterface myBean() {
return new MyMockImplementation();
}

}

最佳答案

从 Spock 1.1 开始,您可以在规范类之外创建模拟(分离的模拟)。其中一个选项是 DetachedMockFactory。看看the documentationmy answer to the question you linked .

关于spring - 使用 Spock 在 Spring 中测试 Mock Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841620/

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