Могу ли я написать «или» заявления в огурце? - PullRequest
0 голосов
/ 20 сентября 2019

Я новичок в использовании среды тестирования Cucumber и пытаюсь проверить, содержит ли таблица значение в одной из ячеек.Значение, которое я ищу, может варьироваться между 4 различными значениями: Pending, Idle, Active, Unknown.Как проверить, существует ли хотя бы одно из этих значений?

Это то, что у меня есть в настоящее время, но оно проверяет только одно из значений:

  Scenario: Status exists in my table
    When I am in the Edge UI
     And I click "Administration"
     And I click "Sites"
    Then I see "Site Elements"
     And I see "Idle" inside table

Это то, что яхочу быть в состоянии сделать:

  Scenario: Status exists in my table
    When I am in the Edge UI
     And I click "Administration"
     And I click "Sites"
    Then I see "Site Elements"
     And I see "Idle" or "Pending" or "Active" or "Unknown" inside table 

Ответы [ 3 ]

0 голосов
/ 21 сентября 2019

Да, выражения огурца дают вам гибкость в использовании или через /.См. https://cucumber.io/docs/cucumber/cucumber-expressions/#alternative-text для получения дополнительной информации.

0 голосов
/ 23 сентября 2019

Вы должны написать свой Кукс по-другому.Вместо того, чтобы использовать свои слова, чтобы документировать, КАК вы делаете что-то, вы должны использовать их, чтобы документировать, ЧТО вы делаете и ПОЧЕМУ это важно.Это включает в себя подталкивание всех HOW к определениям шагов или, еще лучше, к вспомогательным методам, вызываемым определениями шагов.

Второе, что вы хотите сделать в сценарии, - это слишком проверить некоторое поведение.Итак, в идеале вы хотите сделать что-то, что изменит одно из этих состояний, то есть вы выполните действие, которое приводит к тому, что значение переходит от ожидающего к активному.действительно хороший способ написать действительно хрупкие сценарии, которые ломаются всякий раз, когда кто-то меняет мелкие детали, КАК что-то делается, даже если эти изменения не нарушают функциональность того, что делается

0 голосов
/ 20 сентября 2019

Вы можете сделать шаблон регулярного выражения в последнем ряду следующим образом:

И я вижу (. *)

После этого в методе вы можете использовать ifs ose switch

Switch(параметр) {Case: "Idle": // здесь логика}

...