簡體   English   中英

我該如何檢查coffeescript中的Rails測試環境?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM