【问题标题】:How do I check for the test environment in coffeescript for rails?如何在 coffeescript for rails 中检查测试环境?
【发布时间】:2015-01-24 21:20:04
【问题描述】:

在运行集成测试和黄瓜场景时,我想避免使用一些咖啡脚本代码。我试图弄清楚是否有一种简单的方法可以对运行时环境进行自省,以便如果它是“测试”,它会做一件事,否则做另一件事。

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

这里是片段。当您离开页面时,它会设置窗口警报。这弄乱了我的黄瓜代码,所以如果我在 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 为真呢?

谢谢, 丹

【问题讨论】:

    标签: ruby-on-rails testing coffeescript


    【解决方案1】:

    您的代码在测试期间的行为不应有所不同

    相反,为什么不将此逻辑封装在一个不同的文件中并且将其包含在您的测试中?

    这样,系统的行为会受到影响,但您的代码不必知道它——您的测试配置会。

    【讨论】:

      猜你喜欢
      • 2014-12-28
      • 2013-04-21
      • 2013-12-18
      • 1970-01-01
      • 2011-05-04
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多