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. 用gradle运行单个集成测试
- 3. 如何在maven中的集成测试目标中运行单个测试
- 4. 如何在Grails上运行Spock集成测试
- 5. Grails的3:集成测试在开发环境中运行,而不是在一个测试环境
- 6. 在vim中运行grails单元测试
- 7. 运行单个Grails单元/集成测试将运行Intellij上的所有测试
- 8. 如何获得运行Grails 3.1.9集成测试的Url?
- 9. 在grails中运行集成测试时加载ApplicationContext失败
- 10. ContextSwitchDeadlock运行单元时(集成)测试
- 11. 如何运行集成测试?
- 12. 运行Maven集成测试
- 13. 如何在单个集成测试中测试Web和MS Office?
- 14. Grails单元或集成测试?
- 15. 在运行应用程序环境中运行grails集成测试
- 16. 如何在Python单元测试中运行单个测试
- 17. 轨道中的自动测试如何运行集成测试?
- 18. grails 2集成测试
- 19. Grails集成测试套件
- 20. 登录grails集成测试?
- 21. Grails集成测试和sessionFactory.currentSession
- 22. 如何使集成测试和单元测试通过maven单独运行?
- 23. 在集成测试中在Grails中测试BeforeInterceptor
- 24. 如何在Rails 3中进行集成测试?
- 25. Grails 3单元测试:你如何在Grails 3中做mockFor,createMock和需求?
- 26. 使用MSTest分别运行单元测试和集成测试
- 27. 如何在运行集成测试时启动Grails作为Web应用程序
- 28. 运行集成测试再次运行服务器
- 29. 无法为webFlow 2.0.0运行Grails集成测试
- 30. Grails集成测试:域类无法运行
最近这让我疯狂。谢谢。 – Lithium