首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在另一个特性文件之后运行一个特性文件?

如何在另一个特性文件之后运行一个特性文件?
EN

Stack Overflow用户
提问于 2018-07-05 08:17:31
回答 1查看 1.5K关注 0票数 0

我有两个特征文件,即userstoryteacher1.featureuserstoryteacher2.feature。Basicaly userstoryteacher1.feature有两个标记@Dev@QA的步骤。

我想以下列方式运行这些特征文件:

  1. 如果我在Cucumber类中传递@Dev@tagteacher,那么它应该选择dev url来打开这个页面。
  2. 如果我在Cucumber类中传递@QA@tagteacher,那么它应该选择qa来打开带有凭据的页面。 进口com.optum.synergy.common.ui.controller.WebController;cucumber.api.CucumberOptions;进口cucumber.api.SnippetType;进口cucumber.api.junit.Cucumber;@RunWith(Cucumber.class) @CucumberOptions( plugin ={“json: CucumberRunnerTest /test_results/cucumber.json”},features ={ "src/main/resources/ui/features“},标记={"@Dev,@tag教师”},snippets = SnippetType.CAMELCASE )公共类CucumberRunnerTest{ public静态tearDown(){ WebController.closeDeviceDriver();}}用户故事教师1.特性文件:- @TestStory特性:需要填充教师时间表我想使用这个模板作为我的特性文件背景:场景大纲:打开的网页给定用户开放教师应用程序并登录到具有给定和用户单击教师提交链接@DEV链接@DEV的应用程序中:示例:\x_~_ http://teachersheetdev.ggn.com _用户故事教师2.特性文件:-特性:我在教师页面@ Then场景:打开app主页并单击给定的按钮,当用户单击Add按钮时,用户应该会看到任务计划
EN

回答 1

Stack Overflow用户

发布于 2018-07-05 09:49:44

黄瓜的设计使您无法将场景或功能文件链接到一起。每个场景都应该作为一个独立的“测试”运行,从一开始就开始。

使用特性文件进行编程是一种可怕的反模式。相反,将编程向下推到步骤定义层,或者更好地推进步骤定义使用的帮助程序。

如果你想从黄瓜中得到最好的结果,你只需要用它来表达你正在做的事情,以及为什么它是重要的。从您的例子来看,这似乎都是关于教师填写他们的时间表,所以您的场景应该是这样的

Scenario: Fill in timesheet Given I am a teacher And I am logged in When I fill in my timesheet Then I should see my timesheet has been saved.

您可以在Givens中设置状态,并使用所创建的每个场景构建助手方法,这样以后的场景就可以轻松地设置状态。例如,Given I am a teacher可能类似于

代码语言:javascript
运行
复制
def 'Given I am a teacher' do
  teacher = create_new_teacher;
  register_teacher(teacher)
  return teacher
end

这是建立在以前的设想基础上注册新教师。如果您遵循这种模式,您可以使用一个给定的简单场景来执行大量的设置,只需使用一个方法调用即可。这比将多个功能文件链接在一起要好得多!!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51186405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档