gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:54:59 24 4
gpt4 key购买 nike

我有一些 coffeescript 代码,我想在运行我的集成测试和 cucumber 场景时避免这些代码。我想弄清楚是否有一种简单的方法可以在运行时环境中进行内省(introspection),这样如果它是“测试”的,它会做一件事,否则做另一件事。

我不想将 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 为真?

谢谢,丹

最佳答案

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

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

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

关于ruby-on-rails - 如何在 coffeescript for rails 中检查测试环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com