首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cypress-cucumber-preprocessor数据表

cypress-cucumber-preprocessor数据表
EN

Stack Overflow用户
提问于 2020-08-06 01:58:09
回答 1查看 1.6K关注 0票数 1

我看到了一些和我的帖子类似的文章,但我发现它一点帮助都没有,因为他们都没有使用cypress预处理器。

我有一个场景:

代码语言:javascript
复制
Scenario: Some scenario
   Given ...
   When ...
   Then I should see "<task_field>" field as "<field_value>"
   Examples:
      | task_field        | field_value |
      | some_field1       | some_value1 |
      | some_field2       | some_value2 |
      | some_field3       | some_value3 |

.js文件包含:

代码语言:javascript
复制
Then('I should see {string} field as {string}',  (field, value ) => {
  switch (field) {
    case 'some_field1':
      cy.get('.someClass1').contains(value)
      break
    case 'some_field2':
      cy.get('.someClass2').contains(value)
      break
    case 'some_field3':
      cy.get('.someClass3').contains(value)
      break
    default:
      throw new Error(`Invalid field: ${field}`)
  }
})

我的目标是检查每个some_field是否等于some_value,但目前cypress抛给我一个错误,它甚至没有给我执行测试的选项:

任何帮助都将受到感谢,干杯!

EN

回答 1

Stack Overflow用户

发布于 2020-08-06 02:36:13

经过2个小时的调试,我发现我忘记了在场景定义中包含Outline world,以便测试能够迭代数据表。因此,为了便于将来参考,可以从以下位置获得修复:

代码语言:javascript
复制
 Scenario: Some scenario
   Given ...
   When ...
   Then I should see "<task_field>" field as "<field_value>"
   Examples:
      | task_field        | field_value |
      | some_field1       | some_value1 |
      | some_field2       | some_value2 |
      | some_field3       | some_value3 | 

是在第一行中包含Outline

代码语言:javascript
复制
Scenario Outline: Some scenario
   Given ...
   When ...
   Then I should see "<task_field>" field as "<field_value>"
   Examples:
      | task_field        | field_value |
      | some_field1       | some_value1 |
      | some_field2       | some_value2 |
      | some_field3       | some_value3 |

我想这对我来说是漫长的一天。希望这对有类似问题的人有所帮助!

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

https://stackoverflow.com/questions/63270942

复制
相关文章

相似问题

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