Skip to content

Commit 2bd954c

Browse files
committed
Refactor tests of failing, pending & undefined steps
This attempts to take into account preceding steps as well.
1 parent 5cb796c commit 2bd954c

File tree

8 files changed

+127
-72
lines changed

8 files changed

+127
-72
lines changed

features/fixtures/failing-step.json

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@
1313
"arguments": [],
1414
"keyword": "Given ",
1515
"line": 3,
16+
"name": "a preceding step",
17+
"match": {
18+
"location": "not available:0"
19+
},
20+
"result": {
21+
"status": "passed",
22+
"duration": 0
23+
}
24+
},
25+
{
26+
"arguments": [],
27+
"keyword": "And ",
28+
"line": 4,
1629
"name": "a failing step",
1730
"match": {
1831
"location": "not available:0"
@@ -26,8 +39,8 @@
2639
{
2740
"arguments": [],
2841
"keyword": "And ",
29-
"line": 4,
30-
"name": "another step",
42+
"line": 5,
43+
"name": "a succeeding step",
3144
"match": {
3245
"location": "not available:0"
3346
},

features/fixtures/failing-step.ndjson

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
{"testRunStarted":{"timestamp":{"seconds":0,"nanos":0}}}
2-
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given a failing step\n And another step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3-
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"a failing step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4-
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"a failing step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"another step","type":"Context","astNodeIds":["id"]}]}}
2+
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given a preceding step\n And a failing step\n And a succeeding step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3+
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"a preceding step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a failing step"},{"id":"id","location":{"line":5,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a succeeding step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4+
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"a preceding step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"a failing step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"a succeeding step","type":"Context","astNodeIds":["id"]}]}}
5+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a preceding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
56
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a failing step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
6-
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"another step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
7-
{"testCase":{"id":"id","pickleId":"id","testSteps":[{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]}]}}
7+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a succeeding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
8+
{"testCase":{"id":"id","pickleId":"id","testSteps":[{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]}]}}
89
{"testCaseStarted":{"id":"id","testCaseId":"id","attempt":0,"timestamp":{"seconds":0,"nanos":0}}}
910
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
11+
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"PASSED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
12+
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
1013
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"FAILED","message":"some error","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
1114
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
1215
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"SKIPPED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}

features/fixtures/pending-steps.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,33 @@
1313
"arguments": [],
1414
"keyword": "Given ",
1515
"line": 3,
16-
"name": "a pending step",
16+
"name": "a preceding step",
1717
"match": {
1818
"location": "not available:0"
1919
},
2020
"result": {
21-
"status": "pending",
21+
"status": "passed",
2222
"duration": 0
2323
}
2424
},
2525
{
2626
"arguments": [],
2727
"keyword": "And ",
2828
"line": 4,
29-
"name": "another pending step",
29+
"name": "a pending step",
3030
"match": {
3131
"location": "not available:0"
3232
},
3333
"result": {
34-
"status": "skipped",
34+
"status": "pending",
3535
"duration": 0
3636
}
3737
},
3838
{
3939
"arguments": [],
4040
"keyword": "And ",
4141
"line": 5,
42-
"name": "an implemented step",
42+
"name": "a succeeding step",
4343
"match": {
4444
"location": "not available:0"
4545
},

features/fixtures/pending-steps.ndjson

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{"testRunStarted":{"timestamp":{"seconds":0,"nanos":0}}}
2-
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given a pending step\n And another pending step\n And an implemented step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3-
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"a pending step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another pending step"},{"id":"id","location":{"line":5,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"an implemented step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4-
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"a pending step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"another pending step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"an implemented step","type":"Context","astNodeIds":["id"]}]}}
2+
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given a preceding step\n And a pending step\n And a succeeding step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3+
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"a preceding step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a pending step"},{"id":"id","location":{"line":5,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a succeeding step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4+
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"a preceding step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"a pending step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"a succeeding step","type":"Context","astNodeIds":["id"]}]}}
5+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a preceding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
56
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a pending step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
6-
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"another pending step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
7-
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"an implemented step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
7+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a succeeding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
88
{"testCase":{"id":"id","pickleId":"id","testSteps":[{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]}]}}
99
{"testCaseStarted":{"id":"id","testCaseId":"id","attempt":0,"timestamp":{"seconds":0,"nanos":0}}}
1010
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
11-
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"PENDING","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
11+
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"PASSED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
1212
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
13-
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"SKIPPED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
13+
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"PENDING","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
1414
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
1515
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"SKIPPED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
1616
{"testCaseFinished":{"testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0},"willBeRetried":false}}

features/fixtures/undefined-steps.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@
1313
"arguments": [],
1414
"keyword": "Given ",
1515
"line": 3,
16+
"name": "a preceding step",
17+
"match": {
18+
"location": "not available:0"
19+
},
20+
"result": {
21+
"status": "passed",
22+
"duration": 0
23+
}
24+
},
25+
{
26+
"arguments": [],
27+
"keyword": "And ",
28+
"line": 4,
1629
"name": "an undefined step",
1730
"result": {
1831
"status": "undefined",
@@ -22,8 +35,11 @@
2235
{
2336
"arguments": [],
2437
"keyword": "And ",
25-
"line": 4,
26-
"name": "another step",
38+
"line": 5,
39+
"name": "a succeeding step",
40+
"match": {
41+
"location": "not available:0"
42+
},
2743
"result": {
2844
"status": "skipped",
2945
"duration": 0

features/fixtures/undefined-steps.ndjson

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
{"testRunStarted":{"timestamp":{"seconds":0,"nanos":0}}}
2-
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given an undefined step\n And another step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3-
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"an undefined step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"another step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4-
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"an undefined step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"another step","type":"Context","astNodeIds":["id"]}]}}
5-
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a defined step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
6-
{"testCase":{"id":"id","pickleId":"id","testSteps":[{"id":"id","pickleStepId":"id","stepDefinitionIds":[]},{"id":"id","pickleStepId":"id","stepDefinitionIds":[]}]}}
2+
{"source":{"data":"Feature: a feature\n Scenario: a scenario\n Given a preceding step\n And an undefined step\n And a succeeding step","uri":"cypress/e2e/a.feature","mediaType":"text/x.cucumber.gherkin+plain"}}
3+
{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"a feature","description":"","children":[{"scenario":{"id":"id","tags":[],"location":{"line":2,"column":3},"keyword":"Scenario","name":"a scenario","description":"","steps":[{"id":"id","location":{"line":3,"column":5},"keyword":"Given ","keywordType":"Context","text":"a preceding step"},{"id":"id","location":{"line":4,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"an undefined step"},{"id":"id","location":{"line":5,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"a succeeding step"}],"examples":[]}}]},"comments":[],"uri":"cypress/e2e/a.feature"}}
4+
{"pickle":{"id":"id","uri":"cypress/e2e/a.feature","astNodeIds":["id"],"tags":[],"name":"a scenario","language":"en","steps":[{"id":"id","text":"a preceding step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"an undefined step","type":"Context","astNodeIds":["id"]},{"id":"id","text":"a succeeding step","type":"Context","astNodeIds":["id"]}]}}
5+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a preceding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
6+
{"stepDefinition":{"id":"id","pattern":{"type":"CUCUMBER_EXPRESSION","source":"a succeeding step"},"sourceReference":{"uri":"not available","location":{"line":0}}}}
7+
{"testCase":{"id":"id","pickleId":"id","testSteps":[{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]},{"id":"id","pickleStepId":"id","stepDefinitionIds":[]},{"id":"id","pickleStepId":"id","stepDefinitionIds":["id"]}]}}
78
{"testCaseStarted":{"id":"id","testCaseId":"id","attempt":0,"timestamp":{"seconds":0,"nanos":0}}}
89
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
10+
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"PASSED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
11+
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
912
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"UNDEFINED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}
1013
{"testStepStarted":{"testStepId":"id","testCaseStartedId":"id","timestamp":{"seconds":0,"nanos":0}}}
1114
{"testStepFinished":{"testStepId":"id","testCaseStartedId":"id","testStepResult":{"status":"SKIPPED","duration":0},"timestamp":{"seconds":0,"nanos":0}}}

0 commit comments

Comments
 (0)