我是spock的新手。我正在尝试针对使用JDK 1.7,Spring 3.1,Groovy 1.8.6,Spock 0.6,Maven 3.0.4的独立Java应用程序编写spock单元测试。一个基本的hello world spock测试正在进行中。然而,当我尝试测试春豆时,我发现它们没有被注射。我使用了here提到的方法。当块时,businessObjectDao在中为空。我如何使这个工作?
@ContextConfiguration(locations = "classpath*:test-appContext.xml")
class BusinessObjectPersistenceTest extends Specification {
@Autowired
BusinessObjectDao businessObjectDao
def "business never set at least once"() {
when:
BusinessObjectDao.getBusinessObject()
then:
...
}
}
答案 0 :(得分:18)
您很可能忘记包含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
是当前版本,如果您需要其他版本,只需替换