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

时间:2016-06-27 15:27:49

标签: ruby tags capybara capybara-webkit

我有一些测试设置代码,我需要在运行带有TestApp().run()标记的JavaScript的任何Capybara测试之前运行。我不希望代码在剩下的时间内运行,因为这个测试设置在系统资源和认知负载方面都很昂贵。

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

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

1 个答案:

答案 0 :(得分:1)

因为你问的是@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