如何檢查您的程序是否在應用程序內部通過specs2進行測試?例如在Play中你可以用play.Play.isTest()
如何查看代碼是否在specs2的測試模式下運行?
回答
使用適當的DI技術,例如Cake(或者甚至在更簡單的情況下構造函數參數注入),並且您可以控制需要以不同方式完成的事情或者在測試期間採用不同形式。
謝謝,我意識到這是正確的方法(我早些時候使用過Cake),但對於更多的初級開發人員來說,維護會變得有點棘手。我正在尋找一個很好的,但簡單的方法來實現這一目標。 – Jack 2013-03-20 16:50:26
在你需要它的地方寫一個'if(testMode)... else ...'可能看起來更簡單,但這很快變得難以管理。最好是一勞永逸地攀登學習曲線,避免使用更舒適但更不易處理的方法的「技術債務」。我最近經歷了這個過程。這次我使用了構造函數注入,這讓我感覺更舒適。幸運的是,該系統非常簡單,並且沒有長期存在。但對於下一個大系統,我要全力以赴。 – 2013-03-20 17:05:54
查詢作爲啓發式,根據你的調用位置,你可以填寫一個堆棧跟蹤異常並檢查specs2方法是否被執行。
- 1. 如何測試Django是否在調試模式下運行?
- 2. 如何檢查Nightmare JS是否在調試模式下運行
- 3. 是否可以在調試模式下運行單元測試?
- 4. Specs2 - 標記測試運行
- 5. 如何在IntelliJ IDEA下運行所有Specs2測試?
- 6. 如何在調試模式下運行時修改java代碼?
- 7. 測試代碼是否以調試模式執行
- 8. 如何檢測Vim是否在限制模式下運行?
- 9. 如何判斷Flex是否在調試模式下運行?
- 10. WinJS:檢查是否在調試模式下運行
- 11. 如何確定代碼是否在單元測試運行期間運行
- 12. specs2運行一個特定的測試
- 13. 如何檢查MySQL是否在GTID模式下運行?
- 14. 如何在調試器模式下運行perl測試?
- 15. 在運行時檢測產品代碼或測試代碼是否在Swift中
- 16. 在運行時檢查測試模式
- 17. 如何運行我的代碼測試
- 18. 測試以查看Gearman守護進程是否正在運行
- 19. VBA代碼只在調試模式下運行時刪除行
- 20. Scala specs2驗收測試模式混淆
- 21. Jsp是否在Servlet代碼下運行?
- 22. 在非調試模式下運行代碼的問題
- 23. 如何使用specs2框架測試liftweb中的代碼段
- 24. MonoTouch運行時測試,看它是否在模擬器中運行
- 25. 是否有可能在測試模式下運行rails g controller/model,看看會發生什麼?
- 26. 如何查看是否在服務結構下運行
- 27. Intellij在運行代碼覆蓋測試時抱怨fork模式
- 28. 在測試模式下運行時顯示Play框架測試
- 29. 如何使用WicketTester在部署模式下運行測試?
- 30. 如何在selendroid模式下運行appium測試(API <17)>
爲什麼你需要知道這一點? – 2013-03-20 08:21:23
對於初學者來說,你想在測試時使用不同的數據庫。還有其他方法可以實現這一點(我已經完成了這一點),但有時候只需要一個簡單的解決方案。例如,我可能希望將敏感數據添加到我的日誌信息中,我不希望用戶能夠通過擺弄外部日誌記錄配置來查看生產情況。 – Jack 2013-03-20 08:45:31
使代碼的行爲取決於它在測試模式還是生產模式下運行可能是短期內的簡單解決方案......並且可能在長期內容易逆火。 – 2013-03-20 12:46:48