繁体   English   中英

从IntelliJ运行Grails集成测试

[英]running Grails integration tests from IntelliJ

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

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

提前致谢!

如果它与我的情况相同,这就是我如何解决它。 我有一个使用.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标记为绿色作为测试源。

如果一切顺利,您应该能够右键单击测试:集成和测试:单元项目目录。 应该运行“Grails tests:integration”和运行“Grails test:unit”选项,这些选项是您缺少的。

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

我遇到了一个非常类似的问题,但实际上我在Idea 10.5.2中看到了一个略有不同,几乎相反的行为。 我有'.ipr'风格的项目设置。 如果我右键单击集成测试类或集成测试包,我只能获得标准的'Run MyIntegrationTests。 “。 选项,它根据海报的错误消息失败(而不是根据海报描述的行为实际启动集成上下文)。 但是,如果我右键单击Grails视图中的'Tests:Integration'顶级项目,我会得到'Run'Grails测试:integr ...“选项,它完美无缺。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM