gpt4 book ai didi

java - 如何在不使用 Cucumber 中的大纲的情况下多次运行相同的场景?

转载 作者:行者123 更新时间:2023-12-01 12:17:28 26 4
gpt4 key购买 nike

考虑以下 cucumber 场景:

Scenario Outline: Execute a template
Given I have a <template>
when I execute the template
Then the result should be successful.
Examples:
| template |
| templateA |
| templateB |

因此,这将使用表中提到的值运行上面的场景大纲。但这需要我提前知道需要执行的所有模板并将其填写到表中。有没有办法动态加载模板列表,然后为每个模板执行场景?

这种方法的优点是,每当我添加新模板时,我都不需要更新功能测试。

谢谢

最佳答案

是的,将模板列表放在您的步骤定义中,或者更好地放在您的应用程序中。然后就可以写了

  Scenario: Execute all templates
When I execute all the templates
Then there should get no errors

有趣的是你如何实现它。像这样的东西:

module TemplateStepHelper
def all_templates
# either list all the templates here, or better still call a method in
# the app to get them
...
end
end
World TemplateStepHelper

When "I execute all the templates" do
@errors = []
all_templates.each do |t|
res = t.execute
@errors << res unless res
end
end

Then "there should be no errors" do
expect(@errors).to be_empty
end

可以修改代码的具体细节以满足您的需求。

我建议将代码从步骤定义移出并移至步骤帮助器中的方法中。

最后,如果您从应用程序获取模板,则在添加新模板时甚至无需更新功能。

关于java - 如何在不使用 Cucumber 中的大纲的情况下多次运行相同的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902690/

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