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