spring-boot - 无法在 groovy 测试中共享自动装配的对象
问题描述
当我想用 groovy spock 测试我的 SpringBoot 应用程序时,我遇到了一个烦人的问题。
我想在我的 spock 中自动装配一个 bean,这很好用。
我想在“setupSpec”中的测试中使用这个bean,然后有一个问题是我只能在“setupSpec”中使用@Shared对象。
当我在该 bean 的 @Autowired 旁边添加 @Shared 注释时,无法启动测试。
看起来@Autowired 和@Shared 不能一起工作。
解决方法是什么?这很烦人,我还发现了这个没有答案的网站: https ://github.com/spockframework/spock/issues/267
解决方案
在 Spock 2.0 中可以查看文档。
由于某些限制,默认情况下不启用注入共享字段,但可以选择加入。有关详细信息,请参阅 javadoc
org.spockframework.spring.EnableSharedInjection
。
推荐阅读
- spring-boot - 只想为指定的 url 模式(管理服务 url)添加 JWT 过滤器,而不是为 spring boot security 中的所有 url
- kubernetes - 访问 kubernetes UI 界面时找不到服务“kubernetes-dashboard”
- angular - 如何在树形图平方图表上自定义绘制每个图块
- javascript - highcharts 在 1024 中舍入生成的 y 标签,而不是 1000
- powershell - 在 Web 请求中使用 azure 凭据
- android-studio - 如何使用毕加索将图像从 url 加载到小部件中的 imageview
- python-3.x - XML 元素树 - 使用 ET.SubElement() 附加到现有元素和属性?
- laravel - 如何使用 laravel 将图像从项目 1 上传到项目 2?
- reactjs - 如何下载到手机存储?
- vue.js - 年龄未在 html 中呈现:VueJs