3

我在编写测试场景检查将添加到数据库的站点的有效性时遇到问题。任何人都可以为我提供一个示例,说明如何正确编写它。不知怎的,我觉得“场景大纲”不是正确的方法......

'stations' 和 'new_stations' 是复杂类型,我希望拥有已经定义的 'stations' 并检查是否可以添加每个 'new_stations'。

Scenario Outline: 
    Given We have <stations>
    And We are trying to add a station of the <new_stations> having the same id, the same name or the same code
    Then we should not be able to add it


# <stations>
        | Id | Code | Name     | Validity                      |
        | 1  | 1    | City 1   | from 2013-01-01 to 2013-04-01 |
        | 2  | 2    | City 2   | from 2013-03-15 to 2013-05-01 | 

# <new_stations>
        | Id | Code | Name   | Validity                      |
        | 1  | 234  | City 4 | from 2013-03-01 to 2013-07-01 |
        | 3  | 5    | City 1 | from 2013-03-01 to 2013-07-01 |
        | 4  | 2    | City 3 | from 2012-03-15 to 2013-07-15 | 

所以不应该添加任何“new_stations”

  • Id 1 因为它的 Id 不是唯一的
  • Id 3 因为它的名字不是唯一的
  • Id 4 因为它的代码不是唯一的
4

1 回答 1

3

我想你可能混淆了你的许多。

场景大纲用于描述相同的场景,但以参数化的方式,以便依次注入值。这看起来像您拥有的第二张桌子

但是您的示例看起来像您需要一次为已知站点注入多行数据,因此它将变为(见表格

Scenario Outline: 
  Given We have 
    | Id | Code | Name     | Validity                      |
    | 1  | 1    | City 1   | from 2013-01-01 to 2013-04-01 |
    | 2  | 2    | City 2   | from 2013-03-15 to 2013-05-01 | 
  And We are trying to add a station <Id>, <Code>, <Name>, <Validity> 
  Then we should not be able to add it

Examples:
    | Id | Code | Name   | Validity                      |
    | 1  | 234  | City 4 | from 2013-03-01 to 2013-07-01 |
    | 3  | 5    | City 1 | from 2013-03-01 to 2013-07-01 |
    | 4  | 2    | City 3 | from 2012-03-15 to 2013-07-15 | 
于 2013-02-21T11:46:42.857 回答