繁体   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