[ { "uri": "features/background.feature", "id": "run-background", "keyword": "Feature", "name": "run background", "description": " In order to test application behavior\n As a test suite\n I need to be able to run background correctly", "line": 1, "elements": [ { "id": "run-background;should-run-background-steps", "keyword": "Scenario", "name": "should run background steps", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 7, "doc_string": { "value": "Feature: with background\n\n Background:\n Given a feature path \"features/load.feature:6\"\n\n Scenario: parse a scenario\n When I parse features\n Then I should have 1 scenario registered", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 18, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 19, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 20, "doc_string": { "value": "a feature path \"features/load.feature:6\"\nI parse features\nI should have 1 scenario registered", "content_type": "", "line": 21 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-background;should-skip-all-consequent-steps-on-failure", "keyword": "Scenario", "name": "should skip all consequent steps on failure", "description": "", "line": 27, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 28, "doc_string": { "value": "Feature: with background\n\n Background:\n Given a failing step\n And a feature path \"features/load.feature:6\"\n\n Scenario: parse a scenario\n When I parse features\n Then I should have 1 scenario registered", "content_type": "", "line": 29 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 40, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 41, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be failed:", "line": 42, "doc_string": { "value": "a failing step", "content_type": "", "line": 43 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 46, "doc_string": { "value": "a feature path \"features/load.feature:6\"\nI parse features\nI should have 1 scenario registered", "content_type": "", "line": 47 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-background;should-continue-undefined-steps", "keyword": "Scenario", "name": "should continue undefined steps", "description": "", "line": 53, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 54, "doc_string": { "value": "Feature: with background\n\n Background:\n Given an undefined step\n\n Scenario: parse a scenario\n When I do undefined action\n Then I should have 1 scenario registered", "content_type": "", "line": 55 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 65, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 66, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 67, "doc_string": { "value": "an undefined step\nI do undefined action", "content_type": "", "line": 68 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 72, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 73 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/events.feature", "id": "suite-events", "keyword": "Feature", "name": "suite events", "description": " In order to run tasks before and after important events\n As a test suite\n I need to provide a way to hook into these events", "line": 1, "elements": [ { "id": "suite-events;triggers-before-scenario-event", "keyword": "Scenario", "name": "triggers before scenario event", "description": "", "line": 9, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature path \"features/load.feature:6\"", "line": 10, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 11, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "there was event triggered before scenario \"load features within path\"", "line": 12, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "suite-events;triggers-appropriate-events-for-a-single-scenario", "keyword": "Scenario", "name": "triggers appropriate events for a single scenario", "description": "", "line": 14, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature path \"features/load.feature:6\"", "line": 15, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 16, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "these events had to be fired for a number of times:", "line": 17, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 }, "rows": [ { "cells": [ "BeforeSuite", "1" ] }, { "cells": [ "BeforeFeature", "1" ] }, { "cells": [ "BeforeScenario", "1" ] }, { "cells": [ "BeforeStep", "3" ] }, { "cells": [ "AfterStep", "3" ] }, { "cells": [ "AfterScenario", "1" ] }, { "cells": [ "AfterFeature", "1" ] }, { "cells": [ "AfterSuite", "1" ] } ] } ] }, { "id": "suite-events;triggers-appropriate-events-whole-feature", "keyword": "Scenario", "name": "triggers appropriate events whole feature", "description": "", "line": 27, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature path \"features/load.feature\"", "line": 28, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 29, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "these events had to be fired for a number of times:", "line": 30, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 }, "rows": [ { "cells": [ "BeforeSuite", "1" ] }, { "cells": [ "BeforeFeature", "1" ] }, { "cells": [ "BeforeScenario", "6" ] }, { "cells": [ "BeforeStep", "19" ] }, { "cells": [ "AfterStep", "19" ] }, { "cells": [ "AfterScenario", "6" ] }, { "cells": [ "AfterFeature", "1" ] }, { "cells": [ "AfterSuite", "1" ] } ] } ] }, { "id": "suite-events;triggers-appropriate-events-for-two-feature-files", "keyword": "Scenario", "name": "triggers appropriate events for two feature files", "description": "", "line": 40, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature path \"features/load.feature:6\"", "line": 41, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "a feature path \"features/multistep.feature:6\"", "line": 42, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 43, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "these events had to be fired for a number of times:", "line": 44, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 }, "rows": [ { "cells": [ "BeforeSuite", "1" ] }, { "cells": [ "BeforeFeature", "2" ] }, { "cells": [ "BeforeScenario", "2" ] }, { "cells": [ "BeforeStep", "7" ] }, { "cells": [ "AfterStep", "7" ] }, { "cells": [ "AfterScenario", "2" ] }, { "cells": [ "AfterFeature", "2" ] }, { "cells": [ "AfterSuite", "1" ] } ] } ] }, { "id": "suite-events;should-not-trigger-events-on-empty-feature", "keyword": "Scenario", "name": "should not trigger events on empty feature", "description": "", "line": 54, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 55, "doc_string": { "value": "Feature: empty\n\n Scenario: one\n\n Scenario: two", "content_type": "", "line": 56 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 63, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "these events had to be fired for a number of times:", "line": 64, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 }, "rows": [ { "cells": [ "BeforeSuite", "1" ] }, { "cells": [ "BeforeFeature", "0" ] }, { "cells": [ "BeforeScenario", "0" ] }, { "cells": [ "BeforeStep", "0" ] }, { "cells": [ "AfterStep", "0" ] }, { "cells": [ "AfterScenario", "0" ] }, { "cells": [ "AfterFeature", "0" ] }, { "cells": [ "AfterSuite", "1" ] } ] } ] }, { "id": "suite-events;should-not-trigger-events-on-empty-scenarios", "keyword": "Scenario", "name": "should not trigger events on empty scenarios", "description": "", "line": 74, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I'm listening to suite events", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 75, "doc_string": { "value": "Feature: half empty\n\n Scenario: one\n\n Scenario: two\n Then passing step\n\n Scenario Outline: three\n Then passing step\n\n Examples:\n | a |\n | 1 |", "content_type": "", "line": 76 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 91, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "these events had to be fired for a number of times:", "line": 92, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 }, "rows": [ { "cells": [ "BeforeSuite", "1" ] }, { "cells": [ "BeforeFeature", "1" ] }, { "cells": [ "BeforeScenario", "2" ] }, { "cells": [ "BeforeStep", "2" ] }, { "cells": [ "AfterStep", "2" ] }, { "cells": [ "AfterScenario", "2" ] }, { "cells": [ "AfterFeature", "1" ] }, { "cells": [ "AfterSuite", "1" ] } ] } ] } ] }, { "uri": "features/formatter/cucumber.feature", "id": "cucumber-json-formatter", "keyword": "Feature", "name": "cucumber json formatter", "description": " In order to support tools that import cucumber json output\n I need to be able to support cucumber json formatted output", "line": 1, "comments": [ { "value": "# Currently godog only supports comments on Feature and not", "line": 365 }, { "value": "# scenario and steps.", "line": 366 } ], "elements": [ { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-node", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node", "description": "", "line": 5, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 6, "doc_string": { "value": " Feature: simple feature\n simple feature description\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 7 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 13, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 14, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 3,\n \"type\": \"scenario\"\n }\n ]\n }\n ]", "content_type": "application/json", "line": 15 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-node-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node With Tags", "description": "", "line": 38, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 39, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n @TAG2 @TAG3\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 40 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 48, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 49, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 2,\n \"tags\": [\n {\n \"name\": \"@TAG1\",\n \"line\": 1\n }\n ],\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 5,\n \"type\": \"scenario\",\n \"tags\": [\n {\n \"name\": \"@TAG1\",\n \"line\": 1\n },\n {\n \"name\": \"@TAG2\",\n \"line\": 4\n },\n {\n \"name\": \"@TAG3\",\n \"line\": 4\n }\n ]\n }\n ]\n }\n]", "content_type": "application/json", "line": 50 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-outline", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline", "description": "", "line": 92, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 93, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 94 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 106, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 107, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;2\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 9,\n \"type\": \"scenario\"\n },\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;3\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 10,\n \"type\": \"scenario\"\n }\n ]\n }\n ]", "content_type": "", "line": 108 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-outline-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Tags", "description": "", "line": 139, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 140, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n\n @TAG2\n Scenario Outline: simple scenario\n simple scenario description\n\n @TAG3\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 141 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 156, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 157, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 2,\n \"tags\": [\n {\n \"name\": \"@TAG1\",\n \"line\": 1\n }\n ],\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;2\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 12,\n \"type\": \"scenario\",\n \"tags\": [\n {\n \"name\": \"@TAG1\",\n \"line\": 1\n },\n {\n \"name\": \"@TAG2\",\n \"line\": 5\n },\n {\n \"name\": \"@TAG3\",\n \"line\": 9\n }\n ]\n },\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;3\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 13,\n \"type\": \"scenario\",\n \"tags\": [\n {\n \"name\": \"@TAG1\",\n \"line\": 1\n },\n {\n \"name\": \"@TAG2\",\n \"line\": 5\n },\n {\n \"name\": \"@TAG3\",\n \"line\": 9\n }\n ]\n }\n ]\n }\n ]", "content_type": "", "line": 158 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario With Steps", "description": "", "line": 222, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 223, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n Then a failing step\n", "content_type": "", "line": 224 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 235, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 236, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 4,\n \"type\": \"scenario\",\n \"steps\": [\n {\n \"keyword\": \"Given \",\n \"name\": \"passing step\",\n \"line\": 7,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"passed\",\n \"duration\": 0\n }\n },\n {\n \"keyword\": \"Then \",\n \"name\": \"a failing step\",\n \"line\": 8,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"failed\",\n \"error_message\": \"intentional failure\",\n \"duration\": 0\n }\n }\n ]\n }\n ]\n }\n ]", "content_type": "", "line": 237 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-feature-plus-scenario-outline-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Steps", "description": "", "line": 286, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 287, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Given \u003cstatus\u003e step\n\n Examples: simple examples\n | status |\n | passing |\n | failing |\n", "content_type": "", "line": 288 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 303, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 304, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;2\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 11,\n \"type\": \"scenario\",\n \"steps\": [\n {\n \"keyword\": \"Given \",\n \"name\": \"passing step\",\n \"line\": 11,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"passed\",\n \"duration\": 0\n }\n }\n ]\n },\n {\n \"id\": \"simple-feature;simple-scenario;simple-examples;3\",\n \"keyword\": \"Scenario Outline\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 12,\n \"type\": \"scenario\",\n \"steps\": [\n {\n \"keyword\": \"Given \",\n \"name\": \"failing step\",\n \"line\": 12,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"failed\",\n \"error_message\": \"intentional failure\",\n \"duration\": 0\n }\n }\n ]\n }\n ]\n }\n ]", "content_type": "", "line": 305 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-comments", "keyword": "Scenario", "name": "Support of Comments", "description": "", "line": 367, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 368, "doc_string": { "value": " #Feature comment\n Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description", "content_type": "", "line": 369 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 377, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 378, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple description\",\n \"line\": 2,\n \"comments\": [\n {\n \"value\": \"#Feature comment\",\n \"line\": 1\n }\n ],\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple feature description\",\n \"line\": 5,\n \"type\": \"scenario\"\n }\n ]\n }\n ]", "content_type": "", "line": 379 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-docstrings", "keyword": "Scenario", "name": "Support of Docstrings", "description": "", "line": 407, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 408, "doc_string": { "value": " Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description\n\n Given passing step\n \"\"\" content type\n step doc string\n \"\"\"", "content_type": "", "line": 409 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 421, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 422, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple feature description\",\n \"line\": 4,\n \"type\": \"scenario\",\n \"steps\": [\n {\n \"keyword\": \"Given \",\n \"name\": \"passing step\",\n \"line\": 7,\n \"doc_string\": {\n \"value\": \"step doc string\",\n \"content_type\": \"content type\",\n \"line\": 8\n },\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"passed\",\n \"duration\": 0\n }\n }\n ]\n }\n ]\n }\n]", "content_type": "", "line": 423 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "cucumber-json-formatter;support-of-undefined,-pending-and-skipped-status", "keyword": "Scenario", "name": "Support of Undefined, Pending and Skipped status", "description": "", "line": 464, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 465, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n And pending step\n And undefined\n And passing step\n", "content_type": "", "line": 466 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"cucumber\"", "line": 479, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered json will be as follows:", "line": 480, "doc_string": { "value": " [\n {\n \"uri\": \"features/simple.feature\",\n \"id\": \"simple-feature\",\n \"keyword\": \"Feature\",\n \"name\": \"simple feature\",\n \"description\": \" simple feature description\",\n \"line\": 1,\n \"elements\": [\n {\n \"id\": \"simple-feature;simple-scenario\",\n \"keyword\": \"Scenario\",\n \"name\": \"simple scenario\",\n \"description\": \" simple scenario description\",\n \"line\": 4,\n \"type\": \"scenario\",\n \"steps\": [\n {\n \"keyword\": \"Given \",\n \"name\": \"passing step\",\n \"line\": 7,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"passed\",\n \"duration\": 0\n }\n },\n {\n \"keyword\": \"And \",\n \"name\": \"pending step\",\n \"line\": 8,\n \"match\": {\n \"location\": \"features/simple.feature:8\"\n },\n \"result\": {\n \"status\": \"pending\"\n }\n },\n {\n \"keyword\": \"And \",\n \"name\": \"undefined\",\n \"line\": 9,\n \"match\": {\n \"location\": \"features/simple.feature:9\"\n },\n \"result\": {\n \"status\": \"undefined\"\n }\n },\n {\n \"keyword\": \"And \",\n \"name\": \"passing step\",\n \"line\": 10,\n \"match\": {\n \"location\": \"suite_context.go:0\"\n },\n \"result\": {\n \"status\": \"skipped\"\n }\n }\n ]\n }\n ]\n }\n ]", "content_type": "", "line": 481 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/formatter/events.feature", "id": "event-stream-formatter", "keyword": "Feature", "name": "event stream formatter", "description": " In order to have universal cucumber formatter\n As a test suite\n I need to be able to support event stream formatter", "line": 1, "elements": [ { "id": "event-stream-formatter;should-fire-only-suite-events-without-any-scenario", "keyword": "Scenario", "name": "should fire only suite events without any scenario", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature:4\"", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"events\"", "line": 8, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following events should be fired:", "line": 9, "doc_string": { "value": " TestRunStarted\n TestSource\n TestRunFinished", "content_type": "", "line": 10 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "event-stream-formatter;should-process-simple-scenario", "keyword": "Scenario", "name": "should process simple scenario", "description": "", "line": 16, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature:26\"", "line": 17, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"events\"", "line": 18, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following events should be fired:", "line": 19, "doc_string": { "value": " TestRunStarted\n TestSource\n TestCaseStarted\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n TestCaseFinished\n TestRunFinished", "content_type": "", "line": 20 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "event-stream-formatter;should-process-outline-scenario", "keyword": "Scenario", "name": "should process outline scenario", "description": "", "line": 37, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature:34\"", "line": 38, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"events\"", "line": 39, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following events should be fired:", "line": 40, "doc_string": { "value": " TestRunStarted\n TestSource\n TestCaseStarted\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n TestCaseFinished\n TestCaseStarted\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n TestCaseFinished\n TestCaseStarted\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n StepDefinitionFound\n TestStepStarted\n TestStepFinished\n TestCaseFinished\n TestRunFinished", "content_type": "", "line": 41 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/formatter/junit.feature", "id": "junit-xml-formatter", "keyword": "Feature", "name": "JUnit XML formatter", "description": " In order to support tools that import JUnit XML output\n I need to be able to support junit formatted output", "line": 1, "comments": [ { "value": "# Currently godog only supports comments on Feature and not", "line": 154 }, { "value": "# scenario and steps.", "line": 155 } ], "elements": [ { "id": "junit-xml-formatter;support-of-feature-plus-scenario-node", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node", "description": "", "line": 5, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 6, "doc_string": { "value": " Feature: simple feature\n simple feature description\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 7 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 13, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 14, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 15 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-feature-plus-scenario-node-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node With Tags", "description": "", "line": 24, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 25, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n @TAG2 @TAG3\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 26 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 34, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 35, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 36 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-feature-plus-scenario-outline", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline", "description": "", "line": 44, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 45, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 46 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 58, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 59, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"2\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"2\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario #1\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003ctestcase name=\"simple scenario #2\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 60 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-feature-plus-scenario-outline-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Tags", "description": "", "line": 70, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 71, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n\n @TAG2\n Scenario Outline: simple scenario\n simple scenario description\n\n @TAG3\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 72 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 87, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 88, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"2\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"2\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario #1\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003ctestcase name=\"simple scenario #2\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 89 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-feature-plus-scenario-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario With Steps", "description": "", "line": 98, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 99, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n Then a failing step\n", "content_type": "", "line": 100 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 111, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 112, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"1\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"1\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"failed\" time=\"0\"\u003e\n \u003cfailure message=\"Step a failing step: intentional failure\"\u003e\u003c/failure\u003e\n \u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 113 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-feature-plus-scenario-outline-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Steps", "description": "", "line": 123, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 124, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Given \u003cstatus\u003e step\n\n Examples: simple examples\n | status |\n | passing |\n | failing |\n", "content_type": "", "line": 125 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 140, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 141, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"2\" skipped=\"0\" failures=\"1\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"2\" skipped=\"0\" failures=\"1\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario #1\" status=\"passed\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003ctestcase name=\"simple scenario #2\" status=\"failed\" time=\"0\"\u003e\n \u003cfailure message=\"Step failing step: intentional failure\"\u003e\u003c/failure\u003e\n \u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 142 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-comments", "keyword": "Scenario", "name": "Support of Comments", "description": "", "line": 156, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 157, "doc_string": { "value": " #Feature comment\n Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description", "content_type": "", "line": 158 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 166, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 167, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 168 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-docstrings", "keyword": "Scenario", "name": "Support of Docstrings", "description": "", "line": 176, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 177, "doc_string": { "value": " Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description\n\n Given passing step\n \"\"\" content type\n step doc string\n \"\"\"", "content_type": "", "line": 178 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 190, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 191, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"0\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"passed\" time=\"0\"\u003e\u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 192 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "junit-xml-formatter;support-of-undefined,-pending-and-skipped-status", "keyword": "Scenario", "name": "Support of Undefined, Pending and Skipped status", "description": "", "line": 200, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 201, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n And pending step\n And undefined\n And passing step\n", "content_type": "", "line": 202 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"junit\"", "line": 215, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered xml will be as follows:", "line": 216, "doc_string": { "value": " \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003ctestsuites name=\"godog\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"1\" time=\"0\"\u003e\n \u003ctestsuite name=\"simple feature\" tests=\"1\" skipped=\"0\" failures=\"0\" errors=\"1\" time=\"0\"\u003e\n \u003ctestcase name=\"simple scenario\" status=\"undefined\" time=\"0\"\u003e\n \u003cerror message=\"Step pending step: TODO: write pending definition\" type=\"pending\"\u003e\u003c/error\u003e\n \u003cerror message=\"Step undefined\" type=\"undefined\"\u003e\u003c/error\u003e\n \u003cerror message=\"Step passing step\" type=\"skipped\"\u003e\u003c/error\u003e\n \u003c/testcase\u003e\n \u003c/testsuite\u003e\n \u003c/testsuites\u003e", "content_type": "application/xml", "line": 217 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/formatter/pretty.feature", "id": "pretty-formatter", "keyword": "Feature", "name": "pretty formatter", "description": " In order to support tools that import pretty output\n I need to be able to support pretty formatted output", "line": 1, "comments": [ { "value": "# Currently godog only supports comments on Feature and not", "line": 193 }, { "value": "# scenario and steps.", "line": 194 } ], "elements": [ { "id": "pretty-formatter;support-of-feature-plus-scenario-node", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node", "description": "", "line": 5, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 6, "doc_string": { "value": " Feature: simple feature\n simple feature description\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 7 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 13, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 14, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario # features/simple.feature:3\n\n 1 scenarios (1 undefined)\n No steps\n 0s", "content_type": "", "line": 15 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-feature-plus-scenario-node-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Node With Tags", "description": "", "line": 26, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 27, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n @TAG2 @TAG3\n Scenario: simple scenario\n simple scenario description", "content_type": "", "line": 28 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 36, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 37, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario # features/simple.feature:5\n\n 1 scenarios (1 undefined)\n No steps\n 0s", "content_type": "", "line": 38 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-feature-plus-scenario-outline", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline", "description": "", "line": 48, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 49, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 50 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 62, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 63, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario # features/simple.feature:4\n\n Examples: simple examples\n | status |\n | pass |\n | fail |\n\n 2 scenarios (2 undefined)\n No steps\n 0s", "content_type": "", "line": 64 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-feature-plus-scenario-outline-with-tags", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Tags", "description": "", "line": 80, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 81, "doc_string": { "value": " @TAG1\n Feature: simple feature\n simple feature description\n\n @TAG2\n Scenario Outline: simple scenario\n simple scenario description\n\n @TAG3\n Examples: simple examples\n | status |\n | pass |\n | fail |", "content_type": "", "line": 82 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 97, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 98, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario # features/simple.feature:6\n\n Examples: simple examples\n | status |\n | pass |\n | fail |\n\n 2 scenarios (2 undefined)\n No steps\n 0s", "content_type": "", "line": 99 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-feature-plus-scenario-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario With Steps", "description": "", "line": 114, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 115, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n Then a failing step\n", "content_type": "", "line": 116 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 127, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 128, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario # features/simple.feature:4\n Given passing step # suite_context.go:0 -\u003e SuiteContext.func2\n Then a failing step # suite_context.go:0 -\u003e *suiteContext\n intentional failure\n\n --- Failed steps:\n\n Scenario: simple scenario # features/simple.feature:4\n Then a failing step # features/simple.feature:8\n Error: intentional failure\n\n\n 1 scenarios (1 failed)\n 2 steps (1 passed, 1 failed)\n 0s", "content_type": "", "line": 129 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-feature-plus-scenario-outline-with-steps", "keyword": "Scenario", "name": "Support of Feature Plus Scenario Outline With Steps", "description": "", "line": 149, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 150, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario\n simple scenario description\n\n Given \u003cstatus\u003e step\n\n Examples: simple examples\n | status |\n | passing |\n | failing |\n", "content_type": "", "line": 151 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 166, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 167, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario Outline: simple scenario # features/simple.feature:4\n Given \u003cstatus\u003e step # suite_context.go:0 -\u003e SuiteContext.func2\n\n Examples: simple examples\n | status |\n | passing |\n | failing |\n intentional failure\n\n --- Failed steps:\n\n Scenario Outline: simple scenario # features/simple.feature:4\n Given failing step # features/simple.feature:7\n Error: intentional failure\n\n\n 2 scenarios (1 passed, 1 failed)\n 2 steps (1 passed, 1 failed)\n 0s", "content_type": "", "line": 168 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-comments", "keyword": "Scenario", "name": "Support of Comments", "description": "", "line": 195, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 196, "doc_string": { "value": " #Feature comment\n Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description", "content_type": "", "line": 197 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 205, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 206, "doc_string": { "value": " Feature: simple feature\n simple description\n\n Scenario: simple scenario # features/simple.feature:5\n\n 1 scenarios (1 undefined)\n No steps\n 0s", "content_type": "", "line": 207 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-docstrings", "keyword": "Scenario", "name": "Support of Docstrings", "description": "", "line": 217, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 218, "doc_string": { "value": " Feature: simple feature\n simple description\n\n Scenario: simple scenario\n simple feature description\n\n Given passing step\n \"\"\" content type\n step doc string\n \"\"\"", "content_type": "", "line": 219 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 231, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 232, "doc_string": { "value": " Feature: simple feature\n simple description\n\n Scenario: simple scenario # features/simple.feature:4\n Given passing step # suite_context.go:0 -\u003e SuiteContext.func2\n \"\"\" content type\n step doc string\n \"\"\"\n\n 1 scenarios (1 passed)\n 1 steps (1 passed)\n 0s", "content_type": "", "line": 233 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "pretty-formatter;support-of-undefined,-pending-and-skipped-status", "keyword": "Scenario", "name": "Support of Undefined, Pending and Skipped status", "description": "", "line": 247, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"features/simple.feature\" file:", "line": 248, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario\n simple scenario description\n\n Given passing step\n And pending step\n And undefined\n And passing step\n", "content_type": "", "line": 249 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with formatter \"pretty\"", "line": 262, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the rendered output will be as follows:", "line": 263, "doc_string": { "value": " Feature: simple feature\n simple feature description\n\n Scenario: simple scenario # features/simple.feature:4\n Given passing step # suite_context.go:0 -\u003e SuiteContext.func2\n And pending step # suite_context.go:0 -\u003e SuiteContext.func1\n TODO: write pending definition\n And undefined\n And passing step # suite_context.go:0 -\u003e SuiteContext.func2\n\n 1 scenarios (1 pending, 1 undefined)\n 4 steps (1 passed, 1 pending, 1 undefined, 1 skipped)\n 0s\n\n You can implement step definitions for undefined steps with these snippets:\n\n func undefined() error {\n return godog.ErrPending\n }\n\n func FeatureContext(s *godog.Suite) {\n s.Step(`^undefined$`, undefined)\n }", "content_type": "", "line": 264 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/lang.feature", "id": "užkrauti-savybes", "keyword": "Savybė", "name": "užkrauti savybes", "description": " Kad būtų galima paleisti savybių testus\n Kaip testavimo įrankis\n Aš turiu galėti užregistruoti savybes", "line": 3, "tags": [ { "name": "@lang", "line": 2 } ], "elements": [ { "id": "užkrauti-savybes;savybių-užkrovimas-iš-aplanko", "keyword": "Scenarijus", "name": "savybių užkrovimas iš aplanko", "description": "", "line": 8, "type": "scenario", "tags": [ { "name": "@lang", "line": 2 } ], "steps": [ { "keyword": "Duota ", "name": "savybių aplankas \"features\"", "line": 9, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Kai ", "name": "aš išskaitau savybes", "line": 10, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Tada ", "name": "aš turėčiau turėti 13 savybių failus:", "line": 11, "doc_string": { "value": "features/background.feature\nfeatures/events.feature\nfeatures/formatter/cucumber.feature\nfeatures/formatter/events.feature\nfeatures/formatter/junit.feature\nfeatures/formatter/pretty.feature\nfeatures/lang.feature\nfeatures/load.feature\nfeatures/multistep.feature\nfeatures/outline.feature\nfeatures/run.feature\nfeatures/snippets.feature\nfeatures/tags.feature", "content_type": "", "line": 12 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/load.feature", "id": "load-features", "keyword": "Feature", "name": "load features", "description": " In order to run features\n As a test suite\n I need to be able to load features", "line": 1, "elements": [ { "id": "load-features;load-features-within-path", "keyword": "Scenario", "name": "load features within path", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features\"", "line": 7, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 8, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 13 feature files:", "line": 9, "doc_string": { "value": "features/background.feature\nfeatures/events.feature\nfeatures/formatter/cucumber.feature\nfeatures/formatter/events.feature\nfeatures/formatter/junit.feature\nfeatures/formatter/pretty.feature\nfeatures/lang.feature\nfeatures/load.feature\nfeatures/multistep.feature\nfeatures/outline.feature\nfeatures/run.feature\nfeatures/snippets.feature\nfeatures/tags.feature", "content_type": "", "line": 10 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "load-features;load-a-specific-feature-file", "keyword": "Scenario", "name": "load a specific feature file", "description": "", "line": 26, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature\"", "line": 27, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 28, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 1 feature file:", "line": 29, "doc_string": { "value": "features/load.feature", "content_type": "", "line": 30 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "load-features;loaded-feature-should-have-a-number-of-scenarios;;2", "keyword": "Scenario Outline", "name": "loaded feature should have a number of scenarios", "description": "", "line": 41, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature:3\"", "line": 41, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 41, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 0 scenario registered", "line": 41, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "load-features;loaded-feature-should-have-a-number-of-scenarios;;3", "keyword": "Scenario Outline", "name": "loaded feature should have a number of scenarios", "description": "", "line": 42, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature:6\"", "line": 42, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 42, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 1 scenario registered", "line": 42, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "load-features;loaded-feature-should-have-a-number-of-scenarios;;4", "keyword": "Scenario Outline", "name": "loaded feature should have a number of scenarios", "description": "", "line": 43, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature\"", "line": 43, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 43, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 4 scenario registered", "line": 43, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "load-features;load-a-number-of-feature-files", "keyword": "Scenario", "name": "load a number of feature files", "description": "", "line": 45, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature path \"features/load.feature\"", "line": 46, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "a feature path \"features/events.feature\"", "line": 47, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I parse features", "line": 48, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "I should have 2 feature files:", "line": 49, "doc_string": { "value": "features/events.feature\nfeatures/load.feature", "content_type": "", "line": 50 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/multistep.feature", "id": "run-features-with-nested-steps", "keyword": "Feature", "name": "run features with nested steps", "description": " In order to test multisteps\n As a test suite\n I need to be able to execute multisteps", "line": 1, "elements": [ { "id": "run-features-with-nested-steps;should-run-passing-multistep-successfully", "keyword": "Scenario", "name": "should run passing multistep successfully", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 7, "doc_string": { "value": "Feature: normal feature\n\n Scenario: run passing multistep\n Given passing step\n Then passing multistep", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 15, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 16, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 17, "doc_string": { "value": "passing step\npassing multistep", "content_type": "", "line": 18 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features-with-nested-steps;should-fail-multistep", "keyword": "Scenario", "name": "should fail multistep", "description": "", "line": 23, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 24, "doc_string": { "value": "Feature: failed feature\n\n Scenario: run failing multistep\n Given passing step\n When failing multistep\n Then I should have 1 scenario registered", "content_type": "", "line": 25 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 33, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 34, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be failed:", "line": 35, "doc_string": { "value": "failing multistep", "content_type": "", "line": 36 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 39, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 40 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 43, "doc_string": { "value": "passing step", "content_type": "", "line": 44 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features-with-nested-steps;should-fail-nested-multistep", "keyword": "Scenario", "name": "should fail nested multistep", "description": "", "line": 48, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 49, "doc_string": { "value": "Feature: failed feature\n\n Scenario: run failing nested multistep\n Given failing nested multistep\n When passing step", "content_type": "", "line": 50 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 57, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 58, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be failed:", "line": 59, "doc_string": { "value": "failing nested multistep", "content_type": "", "line": 60 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 63, "doc_string": { "value": "passing step", "content_type": "", "line": 64 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features-with-nested-steps;should-skip-steps-after-undefined-multistep", "keyword": "Scenario", "name": "should skip steps after undefined multistep", "description": "", "line": 68, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 69, "doc_string": { "value": "Feature: run undefined multistep\n\n Scenario: run undefined multistep\n Given passing step\n When undefined multistep\n Then passing multistep", "content_type": "", "line": 70 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 78, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 79, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be passed:", "line": 80, "doc_string": { "value": "passing step", "content_type": "", "line": 81 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be undefined:", "line": 84, "doc_string": { "value": "undefined multistep", "content_type": "", "line": 85 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 88, "doc_string": { "value": "passing multistep", "content_type": "", "line": 89 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features-with-nested-steps;should-match-undefined-steps-in-a-row", "keyword": "Scenario", "name": "should match undefined steps in a row", "description": "", "line": 93, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 94, "doc_string": { "value": "Feature: undefined feature\n\n Scenario: parse a scenario\n Given undefined step\n When undefined multistep\n Then I should have 1 scenario registered", "content_type": "", "line": 95 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 103, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 104, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 105, "doc_string": { "value": "undefined step\nundefined multistep", "content_type": "", "line": 106 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 110, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 111 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features-with-nested-steps;should-mark-undefined-steps-after-pending", "keyword": "Scenario", "name": "should mark undefined steps after pending", "description": "", "line": 115, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"pending.feature\" file:", "line": 116, "doc_string": { "value": "Feature: pending feature\n\n Scenario: parse a scenario\n Given pending step\n When undefined step\n Then undefined multistep\n And I should have 1 scenario registered", "content_type": "", "line": 117 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 126, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 127, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 128, "doc_string": { "value": "undefined step\nundefined multistep", "content_type": "", "line": 129 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be pending:", "line": 133, "doc_string": { "value": "pending step", "content_type": "", "line": 134 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 137, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 138 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/outline.feature", "id": "run-outline", "keyword": "Feature", "name": "run outline", "description": " In order to test application behavior\n As a test suite\n I need to be able to run outline scenarios", "line": 1, "elements": [ { "id": "run-outline;should-run-a-normal-outline", "keyword": "Scenario", "name": "should run a normal outline", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 7, "doc_string": { "value": "Feature: outline\n\n Background:\n Given passing step\n\n Scenario Outline: parse a scenario\n Given a feature path \"\u003cpath\u003e\"\n When I parse features\n Then I should have \u003cnum\u003e scenario registered\n\n Examples:\n | path | num |\n | features/load.feature:6 | 1 |\n | features/load.feature:3 | 0 |", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 24, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 25, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 26, "doc_string": { "value": "a passing step\nI parse features\na feature path \"features/load.feature:6\"\na feature path \"features/load.feature:3\"\nI should have 1 scenario registered\nI should have 0 scenario registered", "content_type": "", "line": 27 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-outline;should-continue-through-examples-on-failure", "keyword": "Scenario", "name": "should continue through examples on failure", "description": "", "line": 36, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 37, "doc_string": { "value": "Feature: outline\n\n Background:\n Given passing step\n\n Scenario Outline: parse a scenario\n Given a feature path \"\u003cpath\u003e\"\n When I parse features\n Then I should have \u003cnum\u003e scenario registered\n\n Examples:\n | path | num |\n | features/load.feature:6 | 5 |\n | features/load.feature:3 | 0 |", "content_type": "", "line": 38 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 54, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 55, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 56, "doc_string": { "value": "a passing step\nI parse features\na feature path \"features/load.feature:6\"\na feature path \"features/load.feature:3\"\nI should have 0 scenario registered", "content_type": "", "line": 57 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be failed:", "line": 64, "doc_string": { "value": "I should have 5 scenario registered", "content_type": "", "line": 65 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-outline;should-skip-examples-on-background-failure", "keyword": "Scenario", "name": "should skip examples on background failure", "description": "", "line": 69, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 70, "doc_string": { "value": "Feature: outline\n\n Background:\n Given a failing step\n\n Scenario Outline: parse a scenario\n Given a feature path \"\u003cpath\u003e\"\n When I parse features\n Then I should have \u003cnum\u003e scenario registered\n\n Examples:\n | path | num |\n | features/load.feature:6 | 1 |\n | features/load.feature:3 | 0 |", "content_type": "", "line": 71 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 87, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 88, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 89, "doc_string": { "value": "I parse features\na feature path \"features/load.feature:6\"\na feature path \"features/load.feature:3\"\nI should have 0 scenario registered\nI should have 1 scenario registered", "content_type": "", "line": 90 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be failed:", "line": 97, "doc_string": { "value": "a failing step", "content_type": "", "line": 98 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-outline;should-translate-step-table-body", "keyword": "Scenario", "name": "should translate step table body", "description": "", "line": 102, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 103, "doc_string": { "value": "Feature: outline\n\n Background:\n Given I'm listening to suite events\n\n Scenario Outline: run with events\n Given a feature path \"\u003cpath\u003e\"\n When I run feature suite\n Then these events had to be fired for a number of times:\n | BeforeScenario | \u003cscen\u003e |\n | BeforeStep | \u003cstep\u003e |\n\n Examples:\n | path | scen | step |\n | features/load.feature:6 | 1 | 3 |\n | features/load.feature | 6 | 19 |", "content_type": "", "line": 104 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 122, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 123, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 124, "doc_string": { "value": "I'm listening to suite events\nI run feature suite\na feature path \"features/load.feature:6\"\na feature path \"features/load.feature\"", "content_type": "", "line": 125 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-outline;should-translate-step-doc-string-argument;;2", "keyword": "Scenario Outline", "name": "should translate step doc string argument", "description": "", "line": 151, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 151, "doc_string": { "value": "Feature: scenario events\n\n Background:\n Given I'm listening to suite events\n\n Scenario: run with events\n Given a feature path \"features/load.feature:6\"\n When I run feature suite\n Then these events had to be fired for a number of times:\n | BeforeScenario | 1 |", "content_type": "", "line": 134 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 151, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 151, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-outline;should-translate-step-doc-string-argument;;3", "keyword": "Scenario Outline", "name": "should translate step doc string argument", "description": "", "line": 152, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 152, "doc_string": { "value": "Feature: scenario events\n\n Background:\n Given I'm listening to suite events\n\n Scenario: run with events\n Given a feature path \"features/load.feature\"\n When I run feature suite\n Then these events had to be fired for a number of times:\n | BeforeScenario | 6 |", "content_type": "", "line": 134 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 152, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 152, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/run.feature", "id": "run-features", "keyword": "Feature", "name": "run features", "description": " In order to test application behavior\n As a test suite\n I need to be able to run features", "line": 1, "elements": [ { "id": "run-features;should-run-a-normal-feature", "keyword": "Scenario", "name": "should run a normal feature", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 7, "doc_string": { "value": "Feature: normal feature\n\n Scenario: parse a scenario\n Given a feature path \"features/load.feature:6\"\n When I parse features\n Then I should have 1 scenario registered", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 16, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 17, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 18, "doc_string": { "value": "a feature path \"features/load.feature:6\"\nI parse features\nI should have 1 scenario registered", "content_type": "", "line": 19 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-skip-steps-after-failure", "keyword": "Scenario", "name": "should skip steps after failure", "description": "", "line": 25, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 26, "doc_string": { "value": "Feature: failed feature\n\n Scenario: parse a scenario\n Given a failing step\n When I parse features\n Then I should have 1 scenario registered", "content_type": "", "line": 27 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 35, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 36, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be failed:", "line": 37, "doc_string": { "value": "a failing step", "content_type": "", "line": 38 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 41, "doc_string": { "value": "I parse features\nI should have 1 scenario registered", "content_type": "", "line": 42 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-skip-all-scenarios-if-background-fails", "keyword": "Scenario", "name": "should skip all scenarios if background fails", "description": "", "line": 47, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 48, "doc_string": { "value": "Feature: failed feature\n\n Background:\n Given a failing step\n\n Scenario: parse a scenario\n Given a feature path \"features/load.feature:6\"\n When I parse features\n Then I should have 1 scenario registered", "content_type": "", "line": 49 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 60, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have failed", "line": 61, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be failed:", "line": 62, "doc_string": { "value": "a failing step", "content_type": "", "line": 63 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 66, "doc_string": { "value": "a feature path \"features/load.feature:6\"\nI parse features\nI should have 1 scenario registered", "content_type": "", "line": 67 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-skip-steps-after-undefined", "keyword": "Scenario", "name": "should skip steps after undefined", "description": "", "line": 73, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 74, "doc_string": { "value": "Feature: undefined feature\n\n Scenario: parse a scenario\n Given a feature path \"features/load.feature:6\"\n When undefined action\n Then I should have 1 scenario registered", "content_type": "", "line": 75 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 83, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 84, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be passed:", "line": 85, "doc_string": { "value": "a feature path \"features/load.feature:6\"", "content_type": "", "line": 86 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be undefined:", "line": 89, "doc_string": { "value": "undefined action", "content_type": "", "line": 90 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 93, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 94 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-match-undefined-steps-in-a-row", "keyword": "Scenario", "name": "should match undefined steps in a row", "description": "", "line": 98, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 99, "doc_string": { "value": "Feature: undefined feature\n\n Scenario: parse a scenario\n Given undefined step\n When undefined action\n Then I should have 1 scenario registered", "content_type": "", "line": 100 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 108, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 109, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 110, "doc_string": { "value": "undefined step\nundefined action", "content_type": "", "line": 111 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 115, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 116 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-skip-steps-on-pending", "keyword": "Scenario", "name": "should skip steps on pending", "description": "", "line": 120, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"pending.feature\" file:", "line": 121, "doc_string": { "value": "Feature: pending feature\n\n Scenario: parse a scenario\n Given undefined step\n When pending step\n Then I should have 1 scenario registered", "content_type": "", "line": 122 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 130, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 131, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be undefined:", "line": 132, "doc_string": { "value": "undefined step", "content_type": "", "line": 133 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 136, "doc_string": { "value": "pending step\nI should have 1 scenario registered", "content_type": "", "line": 137 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-handle-pending-step", "keyword": "Scenario", "name": "should handle pending step", "description": "", "line": 142, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"pending.feature\" file:", "line": 143, "doc_string": { "value": "Feature: pending feature\n\n Scenario: parse a scenario\n Given a feature path \"features/load.feature:6\"\n When pending step\n Then I should have 1 scenario registered", "content_type": "", "line": 144 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 152, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 153, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be passed:", "line": 154, "doc_string": { "value": "a feature path \"features/load.feature:6\"", "content_type": "", "line": 155 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be pending:", "line": 158, "doc_string": { "value": "pending step", "content_type": "", "line": 159 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 162, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 163 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-mark-undefined-steps-after-pending", "keyword": "Scenario", "name": "should mark undefined steps after pending", "description": "", "line": 167, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"pending.feature\" file:", "line": 168, "doc_string": { "value": "Feature: pending feature\n\n Scenario: parse a scenario\n Given pending step\n When undefined\n Then undefined 2\n And I should have 1 scenario registered", "content_type": "", "line": 169 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 178, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 179, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 180, "doc_string": { "value": "undefined\nundefined 2", "content_type": "", "line": 181 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be pending:", "line": 185, "doc_string": { "value": "pending step", "content_type": "", "line": 186 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following step should be skipped:", "line": 189, "doc_string": { "value": "I should have 1 scenario registered", "content_type": "", "line": 190 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-fail-suite-if-undefined-steps-follow-after-the-failure", "keyword": "Scenario", "name": "should fail suite if undefined steps follow after the failure", "description": "", "line": 194, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 195, "doc_string": { "value": "Feature: failed feature\n\n Scenario: parse a scenario\n Given a failing step\n When an undefined step\n Then another undefined step", "content_type": "", "line": 196 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 204, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following step should be failed:", "line": 205, "doc_string": { "value": "a failing step", "content_type": "", "line": 206 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 209, "doc_string": { "value": "an undefined step\nanother undefined step", "content_type": "", "line": 210 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the suite should have failed", "line": 214, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-fail-suite-and-skip-pending-step-after-failed-step", "keyword": "Scenario", "name": "should fail suite and skip pending step after failed step", "description": "", "line": 216, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 217, "doc_string": { "value": "Feature: failed feature\n\n Scenario: parse a scenario\n Given a failing step\n When pending step\n Then another undefined step", "content_type": "", "line": 218 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 226, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following step should be failed:", "line": 227, "doc_string": { "value": "a failing step", "content_type": "", "line": 228 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 231, "doc_string": { "value": "pending step", "content_type": "", "line": 232 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 235, "doc_string": { "value": "another undefined step", "content_type": "", "line": 236 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the suite should have failed", "line": 239, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "run-features;should-fail-suite-and-skip-next-step-after-failed-step", "keyword": "Scenario", "name": "should fail suite and skip next step after failed step", "description": "", "line": 241, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"failed.feature\" file:", "line": 242, "doc_string": { "value": "Feature: failed feature\n\n Scenario: parse a scenario\n Given a failing step\n When a failing step\n Then another undefined step", "content_type": "", "line": 243 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 251, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following step should be failed:", "line": 252, "doc_string": { "value": "a failing step", "content_type": "", "line": 253 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be skipped:", "line": 256, "doc_string": { "value": "a failing step", "content_type": "", "line": 257 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be undefined:", "line": 260, "doc_string": { "value": "another undefined step", "content_type": "", "line": 261 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the suite should have failed", "line": 264, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/snippets.feature", "id": "undefined-step-snippets", "keyword": "Feature", "name": "undefined step snippets", "description": " In order to implement step definitions faster\n As a test suite user\n I need to be able to get undefined step snippets", "line": 1, "elements": [ { "id": "undefined-step-snippets;should-generate-snippets", "keyword": "Scenario", "name": "should generate snippets", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 7, "doc_string": { "value": "Feature: undefined steps\n\n Scenario: get version number from api\n When I send \"GET\" request to \"/version\"\n Then the response code should be 200", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 15, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following steps should be undefined:", "line": 16, "doc_string": { "value": "I send \"GET\" request to \"/version\"\nthe response code should be 200", "content_type": "", "line": 17 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the undefined step snippets should be:", "line": 21, "doc_string": { "value": "func iSendRequestTo(arg1, arg2 string) error {\n return godog.ErrPending\n}\n\nfunc theResponseCodeShouldBe(arg1 int) error {\n return godog.ErrPending\n}\n\nfunc FeatureContext(s *godog.Suite) {\n s.Step(`^I send \"([^\"]*)\" request to \"([^\"]*)\"$`, iSendRequestTo)\n s.Step(`^the response code should be (\\d+)$`, theResponseCodeShouldBe)\n}", "content_type": "", "line": 22 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "undefined-step-snippets;should-generate-snippets-with-more-arguments", "keyword": "Scenario", "name": "should generate snippets with more arguments", "description": "", "line": 37, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 38, "doc_string": { "value": "Feature: undefined steps\n\n Scenario: get version number from api\n When I send \"GET\" request to \"/version\" with:\n | col1 | val1 |\n | col2 | val2 |\n Then the response code should be 200 and header \"X-Powered-By\" should be \"godog\"", "content_type": "", "line": 39 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 48, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the undefined step snippets should be:", "line": 49, "doc_string": { "value": "func iSendRequestToWith(arg1, arg2 string, arg3 *gherkin.DataTable) error {\n return godog.ErrPending\n}\n\nfunc theResponseCodeShouldBeAndHeaderShouldBe(arg1 int, arg2, arg3 string) error {\n return godog.ErrPending\n}\n\nfunc FeatureContext(s *godog.Suite) {\n s.Step(`^I send \"([^\"]*)\" request to \"([^\"]*)\" with:$`, iSendRequestToWith)\n s.Step(`^the response code should be (\\d+) and header \"([^\"]*)\" should be \"([^\"]*)\"$`, theResponseCodeShouldBeAndHeaderShouldBe)\n}", "content_type": "", "line": 50 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "undefined-step-snippets;should-handle-escaped-symbols", "keyword": "Scenario", "name": "should handle escaped symbols", "description": "", "line": 65, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 66, "doc_string": { "value": "Feature: undefined steps\n\n Scenario: get version number from api\n When I pull from github.com\n Then the project should be there", "content_type": "", "line": 67 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 74, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the following steps should be undefined:", "line": 75, "doc_string": { "value": "I pull from github.com\nthe project should be there", "content_type": "", "line": 76 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the undefined step snippets should be:", "line": 80, "doc_string": { "value": "func iPullFromGithubcom() error {\n return godog.ErrPending\n}\n\nfunc theProjectShouldBeThere() error {\n return godog.ErrPending\n}\n\nfunc FeatureContext(s *godog.Suite) {\n s.Step(`^I pull from github\\.com$`, iPullFromGithubcom)\n s.Step(`^the project should be there$`, theProjectShouldBeThere)\n}", "content_type": "", "line": 81 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "undefined-step-snippets;should-handle-string-argument-followed-by-comma", "keyword": "Scenario", "name": "should handle string argument followed by comma", "description": "", "line": 96, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 97, "doc_string": { "value": "Feature: undefined\n\n Scenario: add item to basket\n Given there is a \"Sith Lord Lightsaber\", which costs £5\n When I add the \"Sith Lord Lightsaber\" to the basket", "content_type": "", "line": 98 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 105, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the undefined step snippets should be:", "line": 106, "doc_string": { "value": "func thereIsAWhichCosts(arg1 string, arg2 int) error {\n return godog.ErrPending\n}\n\nfunc iAddTheToTheBasket(arg1 string) error {\n return godog.ErrPending\n}\n\nfunc FeatureContext(s *godog.Suite) {\n s.Step(`^there is a \"([^\"]*)\", which costs £(\\d+)$`, thereIsAWhichCosts)\n s.Step(`^I add the \"([^\"]*)\" to the basket$`, iAddTheToTheBasket)\n}", "content_type": "", "line": 107 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "undefined-step-snippets;should-handle-arguments-in-the-beggining-or-end-of-the-step", "keyword": "Scenario", "name": "should handle arguments in the beggining or end of the step", "description": "", "line": 122, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"undefined.feature\" file:", "line": 123, "doc_string": { "value": "Feature: undefined\n\n Scenario: add item to basket\n Given \"Sith Lord Lightsaber\", which costs £5\n And 12 godogs", "content_type": "", "line": 124 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite", "line": 131, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the undefined step snippets should be:", "line": 132, "doc_string": { "value": "func whichCosts(arg1 string, arg2 int) error {\n return godog.ErrPending\n}\n\nfunc godogs(arg1 int) error {\n return godog.ErrPending\n}\n\nfunc FeatureContext(s *godog.Suite) {\n s.Step(`^\"([^\"]*)\", which costs £(\\d+)$`, whichCosts)\n s.Step(`^(\\d+) godogs$`, godogs)\n}", "content_type": "", "line": 133 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] }, { "uri": "features/tags.feature", "id": "tag-filters", "keyword": "Feature", "name": "tag filters", "description": " In order to test application behavior\n As a test suite\n I need to be able to filter features and scenarios by tags", "line": 1, "elements": [ { "id": "tag-filters;should-filter-outline-examples-by-tags", "keyword": "Scenario", "name": "should filter outline examples by tags", "description": "", "line": 6, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 7, "doc_string": { "value": "Feature: outline\n\n Background:\n Given passing step\n\n Scenario Outline: parse a scenario\n Given a feature path \"\u003cpath\u003e\"\n When I parse features\n Then I should have \u003cnum\u003e scenario registered\n\n Examples:\n | path | num |\n | features/load.feature:3 | 0 |\n\n @used\n Examples:\n | path | num |\n | features/load.feature:6 | 1 |", "content_type": "", "line": 8 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with tags \"@used\"", "line": 28, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 29, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 30, "doc_string": { "value": "I parse features\na feature path \"features/load.feature:6\"\nI should have 1 scenario registered", "content_type": "", "line": 31 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "I should have 1 scenario registered", "line": 36, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "tag-filters;should-filter-scenarios-by-x-tag", "keyword": "Scenario", "name": "should filter scenarios by X tag", "description": "", "line": 38, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 39, "doc_string": { "value": "Feature: tagged\n\n @x\n Scenario: one\n Given a feature path \"one\"\n\n @x\n Scenario: two\n Given a feature path \"two\"\n\n @x @y\n Scenario: three\n Given a feature path \"three\"\n\n @y\n Scenario: four\n Given a feature path \"four\"", "content_type": "", "line": 40 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with tags \"@x\"", "line": 59, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 60, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "I should have 3 scenario registered", "line": 61, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 62, "doc_string": { "value": "a feature path \"one\"\na feature path \"two\"\na feature path \"three\"", "content_type": "", "line": 63 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "tag-filters;should-filter-scenarios-by-x-tag-not-having-y", "keyword": "Scenario", "name": "should filter scenarios by X tag not having Y", "description": "", "line": 69, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 70, "doc_string": { "value": "Feature: tagged\n\n @x\n Scenario: one\n Given a feature path \"one\"\n\n @x\n Scenario: two\n Given a feature path \"two\"\n\n @x @y\n Scenario: three\n Given a feature path \"three\"\n\n @y @z\n Scenario: four\n Given a feature path \"four\"", "content_type": "", "line": 71 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with tags \"@x \u0026\u0026 ~@y\"", "line": 90, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 91, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "I should have 2 scenario registered", "line": 92, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 93, "doc_string": { "value": "a feature path \"one\"\na feature path \"two\"", "content_type": "", "line": 94 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] }, { "id": "tag-filters;should-filter-scenarios-having-y-and-z-tags", "keyword": "Scenario", "name": "should filter scenarios having Y and Z tags", "description": "", "line": 99, "type": "scenario", "steps": [ { "keyword": "Given ", "name": "a feature \"normal.feature\" file:", "line": 100, "doc_string": { "value": "Feature: tagged\n\n @x\n Scenario: one\n Given a feature path \"one\"\n\n @x\n Scenario: two\n Given a feature path \"two\"\n\n @x @y\n Scenario: three\n Given a feature path \"three\"\n\n @y @z\n Scenario: four\n Given a feature path \"four\"", "content_type": "", "line": 101 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "When ", "name": "I run feature suite with tags \"@y \u0026\u0026 @z\"", "line": 120, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "Then ", "name": "the suite should have passed", "line": 121, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "I should have 1 scenario registered", "line": 122, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } }, { "keyword": "And ", "name": "the following steps should be passed:", "line": 123, "doc_string": { "value": "a feature path \"four\"", "content_type": "", "line": 124 }, "match": { "location": "suite_context.go:0" }, "result": { "status": "passed", "duration": 0 } } ] } ] } ]