【问题标题】:running Grails integration tests from IntelliJ从 IntelliJ 运行 Grails 集成测试
【发布时间】:2011-07-11 05:48:26
【问题描述】:

我正在使用 IntelliJ 10.0.2 开发 Grails 项目。从 Grails 视图中,如果我右键单击 MyIntegrationTest.groovy 并单独运行它(通过从右键单击菜单中选择“MyIntegration...”),其中的测试将通过。当我使用“运行 Grails 目标”功能并指定“test-app”时,此类中的测试也通过了。

但是,如果我右键单击 Tests:integration 并选择运行“所有测试”,则 MyIntegrationTest 中的某些测试会失败,因为没有注入依赖项。测试运行的速度也表明没有创建 Spring 应用程序上下文。有没有办法在 IntelliJ 中运行所有集成测试(或所有集成和单元测试)而不使用 Grails 命令行?

提前致谢!

【问题讨论】:

  • 唐,听起来您的环境中的某些东西已关闭。如果我右键单击集成测试目录并选择运行“Grails 测试:集成”所有测试运行...
  • 您是在项目视图还是 grails 视图中执行此操作?

标签: grails groovy intellij-idea


【解决方案1】:

如果它与我的情况相同,这就是我解决它的方法。我有一个使用 .ipr 项目样式导入 IDEA 的 grails 项目。如果您的项目主目录中有 Project.ipr、Project.iws、Project.iml 和 Project-grailsPlugins.iml 文件,您可以检查您的项目是否为 .ipr 样式。

关闭IDEA,备份(如果出现问题,为了安全起见)并删除这4个文件。然后打开 IDEA 并选择 New Project。选择“从现有源导入 grails 项目”,选择您的源并确保选择 .idea - 项目样式。 IDEA 应该可以很好地创建新项目。请务必检查项目结构 (Ctrl-Shift-Alt-S) -> 项目设置 -> 模块 -> 源。您应该有两个目录 test/unit 和 test/integration 标记为绿色作为测试源。

如果一切顺利,您应该能够右键单击 Tests:integration 和 Tests:unit 项目目录。应该有您缺少的 Run "Grails tests:integration" 和 Run "Grails test:unit" 选项。

【讨论】:

  • 在使用“grails 与想法集成”创建项目配置时,我在 IDEA 10.5.0 中遇到了同样的问题。 Tomasz 关于切换到 .idea 格式的建议也对我有用。似乎是 grails 与任务集成的问题(过时?)或 IDEA 10.5.0 中的错误
  • 根据我的回答,他们似乎已在 10.5.2 中更改/修复了此问题
【解决方案2】:

使用 Intellij,您可以选择将测试作为 Grails:integration、Grails:unit 测试运行,或者将它们作为普通单元测试运行。如果您选择运行单元测试,它将仅适用于测试/单元,并且不会创建用于集成的 spring 上下文。右键单击 test/unit 并选择 Run->Grails:unit 或右键单击 test/integration 并选择 Grails:integration。应该安装 IDEA 的 Grails 插件。

【讨论】:

    【解决方案3】:

    我遇到了一个非常相似的问题,但实际上我在 Idea 10.5.2 中看到了一个稍微不同、几乎相反的行为。我有“.ipr”风格的项目设置。如果我右键单击集成测试类或集成测试包,我只会得到标准的 'Run MyIntegrationTests 。 . 。选项并且它根据发布者的错误消息失败(而不是根据发布者描述的行为实际启动集成上下文)。但是,如果我在 Grails 视图中右键单击“测试:集成”顶级项目,我会得到“运行“Grails 测试:整数...”选项,并且效果很好。

    对我来说这很好,我不必将我的项目重新构建到基于“目录”的结构中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2018-06-14
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      相关资源
      最近更新 更多