File: table_diffing.feature

package info (click to toggle)
cucumber 2.4.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,076 kB
  • sloc: ruby: 17,016; javascript: 4,641; makefile: 12; sh: 10; tcl: 3
file content (50 lines) | stat: -rw-r--r-- 1,461 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Feature: Table diffing

  To allow you to more easily compare data in tables, you are able
  to easily diff a table with expected data and see the diff in your
  output.

  Scenario: Extra row
    Given a file named "features/tables.feature" with:
      """
      Feature: Tables
        Scenario: Extra row
          Then the table should be:
            | x | y |
            | a | b |
      """
    And a file named "features/step_definitions/steps.rb" with:
      """
      Then /the table should be:/ do |expected| x=1
        expected.diff!(table(%{
          | x | y |
          | a | c |
        }))
      end
      """
    When I run `cucumber features/tables.feature`
    Then it should fail with exactly:
      """
      Feature: Tables

        Scenario: Extra row         # features/tables.feature:2
          Then the table should be: # features/step_definitions/steps.rb:1
            | x | y |
            | a | b |
            Tables were not identical:
            
              |     x |     y |
              | (-) a | (-) b |
              | (+) a | (+) c |
             (Cucumber::MultilineArgument::DataTable::Different)
            ./features/step_definitions/steps.rb:2:in `/the table should be:/'
            features/tables.feature:3:in `Then the table should be:'

      Failing Scenarios:
      cucumber features/tables.feature:2 # Scenario: Extra row

      1 scenario (1 failed)
      1 step (1 failed)
      0m0.012s

      """