Capybara Webkit 中@javascript 标签的自定义代码
Custom code for @javascript tags in Capybara Webkit
我有一些测试设置代码,我需要在使用 @javascript
标签 运行ning JavaScript 的任何水豚测试之前 运行。我不希望代码在其余时间 运行 因为此测试设置在系统资源和认知负荷方面非常昂贵。
我广泛搜索了文档,但无法在基于标记的测试之前找到 运行 任意 ruby 的任何示例。谁能帮帮我?
编辑:在进一步考虑之后,我只需要在任何测试 运行 之前将代码 运行 一次,所以这可能是一个比我第一次描述的更简单的问题。
既然你问的是@javascript 标签,我假设你是在谈论 Cucumber 驱动的测试,如果你不是那么请澄清。
到 运行 测试前的代码你使用 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
我有一些测试设置代码,我需要在使用 @javascript
标签 运行ning JavaScript 的任何水豚测试之前 运行。我不希望代码在其余时间 运行 因为此测试设置在系统资源和认知负荷方面非常昂贵。
我广泛搜索了文档,但无法在基于标记的测试之前找到 运行 任意 ruby 的任何示例。谁能帮帮我?
编辑:在进一步考虑之后,我只需要在任何测试 运行 之前将代码 运行 一次,所以这可能是一个比我第一次描述的更简单的问题。
既然你问的是@javascript 标签,我假设你是在谈论 Cucumber 驱动的测试,如果你不是那么请澄清。
到 运行 测试前的代码你使用 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