Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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 @Spock setupSpec()中的自动连接变量访问_Java_Spring_Spock_Spring Test - Fatal编程技术网

Java @Spock setupSpec()中的自动连接变量访问

Java @Spock setupSpec()中的自动连接变量访问,java,spring,spock,spring-test,Java,Spring,Spock,Spring Test,我需要在Spock测试启动时执行一次代码块。我不能在setupSpec()中使用@Autowired,这是此类初始化的默认方法,但是@Beans在此之前不会加载 在网上找到(可追溯到2015年): 该行为是Spring的TestContext框架设计的结果。我不 想办法在不碰到其他问题的情况下改变它。情况没有什么不同 将TestContext框架与JUnit一起使用时 已经6年了,有没有干净的方法?我想省去一些麻烦的解决方法,幸亏@erdi在中实现了这一点,您可以在Spock Snapshot

我需要在
Spock
测试启动时执行一次代码块。我不能在
setupSpec()
中使用
@Autowired
,这是此类初始化的默认方法,但是
@Bean
s在此之前不会加载

在网上找到(可追溯到2015年):

该行为是Spring的TestContext框架设计的结果。我不 想办法在不碰到其他问题的情况下改变它。情况没有什么不同 将TestContext框架与JUnit一起使用时


已经6年了,有没有干净的方法?我想省去一些麻烦的解决方法,幸亏@erdi在中实现了这一点,您可以在Spock Snapshot 2.0版本中尝试该功能,它将在Spock-2.0M5版本中出现。您需要通过在规范中添加
@EnableSharedInjection
来选择
@Shared
注入,这也是非常重要的,您需要阅读javadoc并理解所提到的这样做的含义。

好的,我来看看。谢谢