Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 产品和测试的不同自动配置?_Java_Spring_Spring Boot_Unit Testing_Dependency Injection - Fatal编程技术网

Java 产品和测试的不同自动配置?

Java 产品和测试的不同自动配置?,java,spring,spring-boot,unit-testing,dependency-injection,Java,Spring,Spring Boot,Unit Testing,Dependency Injection,我正在为Spring Boot开发一个库。目前,它有一些生产自动配置 现在,我还想(作为一个库)为单元测试提供模拟类,而不是常规类 我知道SpringBatch通过使用@SpringBatchTest标记测试类来实现这一点 我怎样才能达到类似的行为 模拟类或测试支持类应在单独的库中提供。这是spring团队遵循的方法。 将测试支持类与生产类打包在一起是不可取的,应该避免 ConditionalOn类可以帮助您实现这种行为。是的,我试图了解正确的类是否为ConditionalOnClass对于不同

我正在为Spring Boot开发一个库。目前,它有一些生产自动配置

现在,我还想(作为一个库)为单元测试提供模拟类,而不是常规类

我知道SpringBatch通过使用
@SpringBatchTest
标记测试类来实现这一点


我怎样才能达到类似的行为

模拟类或测试支持类应在单独的库中提供。这是spring团队遵循的方法。
将测试支持类与生产类打包在一起是不可取的,应该避免

ConditionalOn
类可以帮助您实现这种行为。是的,我试图了解正确的类是否为
ConditionalOnClass
对于不同的用例,它们有很多。好的。假设我这样做。如何实现我描述的行为?您将提供与
spring boot test autoconfigure
对所有层所做的类似的测试配置。请参见
spring引导测试自动配置
模块中的
spring.factories
。另一个选项是注册@MockBean或@SpyBean,并让用户配置他们的行为。但是Spring将为my
@Bean
提供两个候选对象。如何解决这个问题?什么是我的
@ConditionalOn…
?没有条件on
@TestXXX
注释使用此特定配置配置应用程序。其他则不适用。例如,查看他们如何配置自己的
@JdbcTest