Ruby on rails 如何在coffeescript for rails中检查测试环境?
我有一些coffeescript代码,我希望在运行集成测试和场景时避免这些代码。我试图找出是否有一种简单的方法可以在运行时环境中进行内省,这样,如果是“测试”,它将做一件事,否则将做另一件事 我不想将ERB解析添加到coffeescript文件中。有没有其他方法可以知道它是否在测试环境中运行 这是狙击手。它会在您离开页面时设置窗口警报。这会弄乱我的cucumber代码,所以如果我在Rails.env=='test'下运行,我只想跳过它Ruby on rails 如何在coffeescript for rails中检查测试环境?,ruby-on-rails,testing,coffeescript,Ruby On Rails,Testing,Coffeescript,我有一些coffeescript代码,我希望在运行集成测试和场景时避免这些代码。我试图找出是否有一种简单的方法可以在运行时环境中进行内省,这样,如果是“测试”,它将做一件事,否则将做另一件事 我不想将ERB解析添加到coffeescript文件中。有没有其他方法可以知道它是否在测试环境中运行 这是狙击手。它会在您离开页面时设置窗口警报。这会弄乱我的cucumber代码,所以如果我在Rails.env=='test'下运行,我只想跳过它 setupNavigateAwayProtection: -
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您的代码在测试期间不应表现出不同的行为
相反,为什么不将此逻辑封装在不同的文件中,而不将其包含在测试中
这样,系统的行为将受到影响,但您的代码不必知道,您的测试配置需要知道