Grails 3(至少3.1.10)在运行时只有特定的测试。我如何获得它来运行单个集成测试?如何在grails 3中运行单个集成测试?
回答
官方的命令行语法为grails test-app
,任选随后进行模式匹配,你要测试,如org.myorg.ClassToTest
或org.**.*
和-unit
或-integration
选择特定的阶段是什么完整的命名空间中的类名。请参阅docs。但是,在Grails 3.1.10中有一些怪癖。
1)grails test-app
不会永远运行测试,可能是在依赖管理的错误。如果您第一次删除build/reports/tests/index.html
的测试报告,grails会发现它实际上需要做一些事情来生成新报告。
2)有时候事情会随机地变得怪异。如果是这样,请执行grails clean; grails test clean
。 (我还不弄清楚,如果你真的需要他们两个或仅两个中的一个)。
3)的正式方法应该可行,但这样做(2)第一,如果它没有。此外,如果您只想运行特定的集成测试,则需要添加-integration
,否则您会收到错误消息。我认为,如果没有这样的标志,Grails无条件地首先尝试运行单元测试,然后进行集成测试,如果测试模式与单元测试不匹配,那么Grails将会出错。同样,如果模式只匹配单元测试,请添加-unit
,否则您会收到错误消息,虽然在这种情况下仍然会得到正确的测试报告。
4)还有另一种方法,通过使用-Dtest.single=<classname>
标志。这设置了一个由gradle拾取的系统属性。如果我还添加了-unit
标志,我只能正常工作,但我没有深入调查过。
我通常使用注释@IgnoreRest
。请记住import spock.lang.IgnoreRest
并对指定的类运行测试。
下面是一个简单的命令来运行一个单一的集成测试
grails test-app *LoginFunctional* -integration
如果你把 - 整合国旗图案之前,测试-app命令将忽略模式,并执行所有的集成测试。
- 1. 从IntelliJ运行Grails集成测试
- 2. 如何在maven中的集成测试目标中运行单个测试
- 3. 如何获得运行Grails 3.1.9集成测试的Url?
- 4. ContextSwitchDeadlock运行单元时(集成)测试
- 5. 如何运行集成测试?
- 6. 轨道中的自动测试如何运行集成测试?
- 7. grails 2集成测试
- 8. 登录grails集成测试?
- 9. Grails集成测试套件
- 10. Grails集成测试和sessionFactory.currentSession
- 11. 如何使集成测试和单元测试通过maven单独运行?
- 12. 如何在Rails 3中进行集成测试?
- 13. 如何在运行集成测试时启动Grails作为Web应用程序
- 14. 与Makefile中集成setup.py运行测试
- 15. 运行集成测试再次运行服务器
- 16. 无法为webFlow 2.0.0运行Grails集成测试
- 17. 在Maven集成中运行Ruby单元测试
- 18. 如何在Rails集成测试中运行腐败?
- 19. 集成测试中的Grails引导
- 20. Grails:集成测试中的事务
- 21. 如何使用Gradle在grails-core项目中运行单个测试?
- 22. 春季调试grails集成测试STS
- 23. 当进行单元测试以及何时集成测试
- 24. Grails。来自单元测试的模拟数据在集成测试中可用
- 25. 在持续集成中运行测试与手动运行测试
- 26. Grails - 如何进行单元测试addTo *
- 27. 仅当使用'grails test-app'运行时,Grails集成测试才会失败
- 28. 如何在码头集装箱中运行.NET单元测试
- 29. 为什么在GGTS(Eclipse)中运行时Grails 3单元测试会抛出StackOverflowError?
- 30. 集成与单元测试
最近这让我疯狂。谢谢。 – Lithium