chalice 2.4.4 : services does not inject: integration test

标签 grails integration-testing spock

我有依赖服务的服务,例如:

class ParserService {
    def depService;

    private def parseLine(lineParts) {
    ...
    def set = depService.findItemByName(tmpModule.name);//depService == null
    ...

我尝试实现集成测试,例如:
@TestFor(ParserService)
class ParserServiceTest extends IntegrationSpec {
    def "should not parse comment"() {
        when:
        ...
        def resultList = service.parseAnnotations(inputStream);

资源.groovy:
beans = {
}

我有 NullPointerException: depService - null

最佳答案

@TestFor注释仅用于单元测试。集成测试像普通的 bean 一样工作,因此如果您将服务定义为类中的属性,例如在 Controller /服务/域类中,Grails/Spring 将在您的测试中注入(inject)您的依赖项。

关于 chalice 2.4.4 : services does not inject: integration test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30637838/

相关文章:

tomcat - 如何确保 Tomcat6 在 Windows 上读取 CATALINA_OPTS?

grails - Grails版本列

php - 我应该将 Selenium 用于预订引擎吗?

cakephp - 如何在 CakePHP 集成测试中获取请求的响应?

spring - Grails:将 FixtureLoader 注入(inject)规范

unit-testing - 使用闭包对 GORM 调用进行单元测试

grails - Grails参数映射为java.util.HashMap

grails - 在哪里可以找到所有 Grails 字段插件类型的默认模板?

java - 使用 Spring boot 运行集成测试 (NoSuchBeanDefinitionException)

unit-testing - Grails 2.4.3 单元测试数量不正确