2011-03-08 132 views
3

我使用IntelliJ 10.0.2开发Grails项目。从Grails视图中,如果我右键单击MyIntegrationTest.groovy并单独运行它(通过从右键菜单中选择“MyIntegration ...”),其中的测试通过。当我使用“运行Grails目标”功能并指定“test-app”时,此类中的测试也会通过。但是,如果我右键单击测试:集成并选择运行“所有测试”,则MyIntegrationTest中的某些测试会失败,因为不会注入依赖关系。测试运行的速度也表明Spring应用程序上下文没有被创建。有没有办法从IntelliJ内部运行所有集成测试(或所有集成&单元测试),而不使用Grails命令行?从IntelliJ运行Grails集成测试

在此先感谢!

+0

不,听起来像你的环境中的东西已关闭。如果我右键单击集成测试目录并选择运行“Grails测试:集成”,所有测试运行... – hvgotcodes 2011-03-08 16:37:32

+0

您是在项目视图还是grails视图中执行此操作? – 2011-03-08 19:10:01

回答

3

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

4

如果和我的情况一样,下面是我解决它的方法。我有一个以.ipr项目风格导入IDEA的grails项目。如果项目主目录中包含Project.ipr,Project.iws,Project.iml和Project-grailsPlugins.iml文件,则可以检查项目是否为.ipr风格。

关闭IDEA,备份(为了安全,如果出现问题)并删除这4个文件。然后打开IDEA并选择新建项目。选择“从现有来源导入grails项目”,选择您的来源并确保选择.idea - 项目样式。 IDEA应该创建新的项目。一定要检查Porject结构(Ctrl-Shift-Alt-S) - >项目设置 - >模块 - >源文件。您应该有两个目录测试/单元和测试/集成绿色标记为测试来源。

如果一切顺利,您应该能够右键单击测试:集成和测试:单元项目目录。应该运行“Grails测试:集成”和运行“Grails测试:单元”选项,你失踪了。

+0

当使用“grails integrate-with idea”创建项目配置时,我遇到了与IDEA 10.5.0相同的问题。 Tomasz建议改用.idea格式也适用于我。看起来像是一个Grails集成的问题 - 任务(过时?)还是IDEA 10.5.0中的一个错误 – 2011-06-22 16:26:23

+0

根据我的回答,似乎他们已经在10.5.2中更改/修复了这个问题 – Peter 2011-10-07 22:33:34

1

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

对我来说这很好,我不需要重建我的项目到'目录'为基础的结构。