Capybara Webkit中@javascript标签的自定义代码



我有一些测试设置代码,我需要在运行带有@javascript标记的JavaScript的任何Capybara测试之前运行。我不想让代码在剩下的时间里运行,因为这个测试设置在系统资源和认知负载方面是昂贵的。

我已经广泛地搜索了文档,无法找到任何在基于标记的测试之前运行任意ruby的示例。有人能帮我吗?

编辑:在考虑了这一点之后,我只需要在任何测试运行之前运行一次代码,所以这可能是一个比我第一次描述的更简单的问题。

既然你问的是@javascript标签,我假设你在谈论黄瓜驱动的测试,如果你不是,那么请澄清。

要在测试之前运行代码,您可以使用Before

Before('@javascript') do
  # any code here will get run before each test tagged with @javascript
end

为了使它只运行一次,你需要使用一个全局变量

Before('@javascript') do
  $already_run ||= false
  return $already_run if $already_run
  # code here will get run once before the first test tagged @javascript
  $already_run = true
end

相关内容

  • 没有找到相关文章

最新更新