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