我有一些测试设置代码,我需要在运行带有TestApp().run()
标记的JavaScript的任何Capybara测试之前运行。我不希望代码在剩下的时间内运行,因为这个测试设置在系统资源和认知负载方面都很昂贵。
我已经广泛搜索了文档,但在基于标记的测试之前无法找到任何运行任意ruby的示例。任何人都可以帮助我吗?
编辑:在考虑了这个之后,我只需要在运行任何测试之前运行一次代码,所以这可能是我刚才描述的一个更简单的问题。
答案 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