[英]How do I check for the test environment in coffeescript for rails?
運行集成測試和黃瓜方案時,我想避免使用某些coffeescript代碼。 我試圖找出是否有一種簡單的方法可以對運行時環境進行自省,以便如果它是“測試”,它將做一件事,而另一件事。
我不想將ERB解析添加到coffeescript文件。 還有其他方法可以知道它是否在測試環境中運行嗎?
這是snippit。 當您離開頁面時,它會設置一個窗口警報。 這搞砸了我的黃瓜代碼,所以如果我在Rails.env =='test'下運行,我想簡單地跳過它
setupNavigateAwayProtection: ->
window.onbeforeunload = =>
if @promptForChanges()
message = "You are about to lose your changes"
message
promptForChanges是用於檢查內容是否已更改的函數。 所以我可以想象一個類似的版本:
window.onbeforeunload = =>
if @promptForChanges() && !@test
message = "You are about to lose your changes"
message
但是如果我正在運行測試,如何將@test定義為true?
謝謝,丹
您的代碼在測試期間的行為不應有所不同 。
相反,為什么不將這個邏輯封裝在一個差異文件中,並且不將其包含在測試中呢?
這樣, 系統的行為將受到影響,但是您的代碼不必知道它-測試配置會知道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.