Ruby on rails 如何在coffeescript for rails中检查测试环境?

Ruby on rails 如何在coffeescript for rails中检查测试环境?,ruby-on-rails,testing,coffeescript,Ruby On Rails,Testing,Coffeescript,我有一些coffeescript代码,我希望在运行集成测试和场景时避免这些代码。我试图找出是否有一种简单的方法可以在运行时环境中进行内省,这样,如果是“测试”,它将做一件事,否则将做另一件事 我不想将ERB解析添加到coffeescript文件中。有没有其他方法可以知道它是否在测试环境中运行 这是狙击手。它会在您离开页面时设置窗口警报。这会弄乱我的cucumber代码,所以如果我在Rails.env=='test'下运行,我只想跳过它 setupNavigateAwayProtection: -

我有一些coffeescript代码,我希望在运行集成测试和场景时避免这些代码。我试图找出是否有一种简单的方法可以在运行时环境中进行内省,这样,如果是“测试”,它将做一件事,否则将做另一件事

我不想将ERB解析添加到coffeescript文件中。有没有其他方法可以知道它是否在测试环境中运行

这是狙击手。它会在您离开页面时设置窗口警报。这会弄乱我的cucumber代码,所以如果我在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呢

谢谢, Dan

您的代码在测试期间不应表现出不同的行为

相反,为什么不将此逻辑封装在不同的文件中,而不将其包含在测试中

这样,系统的行为将受到影响,但您的代码不必知道,您的测试配置需要知道