【问题标题】:Grails Unit Test Case doesn't initialize Grails ServiceGrails 单元测试用例未初始化 Grails 服务
【发布时间】:2015-11-02 08:27:51
【问题描述】:

Grails 单元测试用例没有初始化我的 Grails 服务。

public class ProfileDataServiceTests extends GrailsUnitTestCase{

    ProfileDataService profileDataService;
    void testprocessRawData() {
        profileDataService.processRawData(getCustomerData())
    }

}

Intellij Idea 显示 profileDataService 是自动连接的,当我在其上调用方法时,我得到 NullPointerException,因为 profileDataService 为 null。

有什么想法吗?

【问题讨论】:

标签: java grails intellij-idea


【解决方案1】:

如果您查看本教程,您会看到 grailsUnitTestCase 自 grails 2.0.x 以来已被弃用

Grails 1.3.x 及更低版本使用 grails.test.GrailsUnitTestCase 类 以 JUnit 3 风格进行测试的层次结构。 Grails 2.0.x 及更高版本 弃用这些测试工具,转而支持可以 应用于一系列不同类型的测试(JUnit 3、JUnit 4、 Spock 等)没有子类化

所以你可以使用这个链接,它提供了更好的 grails 单元测试方法。

http://grails.github.io/grails-doc/3.0.x/guide/testing.html#unitTestingControllers

这种方式

@Integration
class NameSpec extends Specification {

  @Autowired
  ExampleService exampleService
}

希望这会有所帮助!谢谢

【讨论】:

  • 当我用我的服务尝试你的例子时,它抱怨说没有服务名称的 Nean 定义,因此无法自动连接服务。我正在使用 Grails 2.2.4 版。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
相关资源
最近更新 更多