我是 spock 的新手。我正在尝试针对使用 JDK 1.7、Spring 3.1、Groovy 1.8.6、Spock 0.6、Maven 3.0.4 的独立 Java 应用程序编写 Spock 单元测试。一个基本的 hello world spock 测试正在运行。但是,当我尝试测试 spring bean 时,我发现它们没有被注入(inject)。我使用提到的方法 here . businessObjectDao 在when block 中为空。我如何让它工作?
@ContextConfiguration(locations = "classpath*:test-appContext.xml")
class BusinessObjectPersistenceTest extends Specification {
@Autowired
BusinessObjectDao businessObjectDao
def "business never set at least once"() {
when:
BusinessObjectDao.getBusinessObject()
then:
...
}
}
最佳答案
您很可能忘记包含 Spock Spring 依赖项。
获取方法如下:
行家
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-spring</artifactId>
<version>0.6-groovy-1.8</version>
</dependency>
渐变
'org.spockframework:spock-spring:0.6-groovy-1.8'
普通的常规
@Grapes(
@Grab(group='org.spockframework', module='spock-spring', version='0.6-groovy-1.8')
)
*0.6-groovy-1.8
是当前版本,如果您需要另一个版本,只需替换
关于java - 如何将spring bean注入(inject)spock测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811345/