outline scenario with failing steps pretty print test

Этот коммит содержится в:
gedi 2018-11-16 10:04:48 +02:00
родитель bfec1e9b48
коммит f362a632aa
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 56604CDCCC201556
7 изменённых файлов: 80 добавлений и 18 удалений

Просмотреть файл

@ -0,0 +1,22 @@
@outline @tag
Feature: outline
@scenario
Scenario Outline: outline
Given passing step
When passing step
Then odd <odd> and even <even> number
@tagged
Examples: tagged
| odd | even |
| 1 | 2 |
| 2 | 0 |
| 3 | 11 |
@tag2
Examples:
| odd | even |
| 1 | 14 |
| 3 | 9 |

39
formatter-tests/pretty/scenario_outline Обычный файл
Просмотреть файл

@ -0,0 +1,39 @@
<bold-white>Feature:</bold-white> outline
<bold-white>Scenario Outline:</bold-white> outline <black># formatter-tests/features/scenario_outline.feature:5</black>
<cyan>Given</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<cyan>When</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>odd </cyan><bold-cyan><odd></bold-cyan><cyan> and even </cyan><bold-cyan><even></bold-cyan><cyan> number</cyan> <black># formatters_print_test.go:67 -> oddEvenStepDef</black>
<bold-white>Examples:</bold-white> tagged
| <cyan>odd</cyan> | <cyan>even</cyan> |
| <green>1</green> | <green>2</green> |
| <red>2</red> | <red>0</red> |
<bold-red>2 is not odd</bold-red>
| <red>3</red> | <red>11</red> |
<bold-red>11 is not even</bold-red>
<bold-white>Examples:</bold-white>
| <cyan>odd</cyan> | <cyan>even</cyan> |
| <green>1</green> | <green>14</green> |
| <red>3</red> | <red>9</red> |
<bold-red>9 is not even</bold-red>
--- <red>Failed steps:</red>
<red>Scenario Outline: outline</red><black> # formatter-tests/features/scenario_outline.feature:5</black>
<red>Then odd 2 and even 0 number</red><black> # formatter-tests/features/scenario_outline.feature:8</black>
<red>Error: </red><bold-red>2 is not odd</bold-red>
<red>Scenario Outline: outline</red><black> # formatter-tests/features/scenario_outline.feature:5</black>
<red>Then odd 3 and even 11 number</red><black> # formatter-tests/features/scenario_outline.feature:8</black>
<red>Error: </red><bold-red>11 is not even</bold-red>
<red>Scenario Outline: outline</red><black> # formatter-tests/features/scenario_outline.feature:5</black>
<red>Then odd 3 and even 9 number</red><black> # formatter-tests/features/scenario_outline.feature:8</black>
<red>Error: </red><bold-red>9 is not even</bold-red>
5 scenarios (<green>2 passed</green>, <red>3 failed</red>)
15 steps (<green>12 passed</green>, <red>3 failed</red>)
0s

Просмотреть файл

@ -1,12 +1,12 @@
<bold-white>Feature:</bold-white> single scenario with background
<bold-white>Background:</bold-white> named
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<green>And</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
<green>And</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
<bold-white>Scenario:</bold-white> scenario <black># formatter-tests/features/scenario_with_background.feature:7</black>
<green>When</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<green>Then</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<green>When</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
<green>Then</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
1 scenarios (<green>1 passed</green>)
4 steps (<green>4 passed</green>)

Просмотреть файл

@ -4,7 +4,7 @@
feature
<bold-white>Scenario:</bold-white> one step passing <black># formatter-tests/features/single_scenario_with_passing_step.feature:6</black>
<green>Given</green> <green>a passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<green>Given</green> <green>a passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
1 scenarios (<green>1 passed</green>)
1 steps (<green>1 passed</green>)

Просмотреть файл

@ -1,19 +1,19 @@
<bold-white>Feature:</bold-white> some scenarios
<bold-white>Scenario:</bold-white> failing <black># formatter-tests/features/some_scenarions_including_failing.feature:3</black>
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<red>When</red> <red>failing step</red> <black># formatters_print_test.go:80 -> failingStepDef</black>
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
<red>When</red> <red>failing step</red> <black># formatters_print_test.go:81 -> failingStepDef</black>
<bold-red>step failed</bold-red>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<bold-white>Scenario:</bold-white> pending <black># formatter-tests/features/some_scenarions_including_failing.feature:8</black>
<yellow>When</yellow> <yellow>pending step</yellow> <black># formatters_print_test.go:78 -> pendingStepDef</black>
<yellow>When</yellow> <yellow>pending step</yellow> <black># formatters_print_test.go:79 -> pendingStepDef</black>
<yellow>TODO: write pending definition</yellow>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<bold-white>Scenario:</bold-white> undefined <black># formatter-tests/features/some_scenarions_including_failing.feature:12</black>
<yellow>When</yellow> <yellow>undefined</yellow>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
--- <red>Failed steps:</red>

Просмотреть файл

@ -1,17 +1,17 @@
<bold-white>Feature:</bold-white> two scenarios with background fail
<bold-white>Background:</bold-white>
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:64 -> passingStepDef</black>
<red>And</red> <red>failing step</red> <black># formatters_print_test.go:80 -> failingStepDef</black>
<green>Given</green> <green>passing step</green> <black># formatters_print_test.go:65 -> passingStepDef</black>
<red>And</red> <red>failing step</red> <black># formatters_print_test.go:81 -> failingStepDef</black>
<bold-red>step failed</bold-red>
<bold-white>Scenario:</bold-white> one <black># formatter-tests/features/two_scenarios_with_background_fail.feature:7</black>
<cyan>When</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>When</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
<bold-white>Scenario:</bold-white> two <black># formatter-tests/features/two_scenarios_with_background_fail.feature:11</black>
<bold-red>step failed</bold-red>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:64 -> passingStepDef</black>
<cyan>Then</cyan> <cyan>passing step</cyan> <black># formatters_print_test.go:65 -> passingStepDef</black>
--- <red>Failed steps:</red>

Просмотреть файл

@ -5,6 +5,7 @@ import (
"fmt"
"io/ioutil"
"os"
"path"
"strings"
"testing"
)
@ -26,14 +27,14 @@ func TestPrintingFormatters(t *testing.T) {
suite.Step(`^(?:a )?failing step`, failingStepDef)
suite.Step(`^(?:a )?pending step$`, pendingStepDef)
suite.Step(`^(?:a )?passing step$`, passingStepDef)
suite.Step(`^is <odd> and <even> number$`, oddEvenStepDef)
suite.Step(`^odd (\d+) and even (\d+) number$`, oddEvenStepDef)
pkg := os.Getenv("GODOG_TESTED_PACKAGE")
os.Setenv("GODOG_TESTED_PACKAGE", "github.com/DATA-DOG/godog")
for _, feat := range features {
for name := range AvailableFormatters() {
expectOutputPath := strings.Replace(feat.Path, "features", name, 1)
expectOutputPath = strings.TrimRight(expectOutputPath, ".feature")
expectOutputPath = strings.TrimSuffix(expectOutputPath, path.Ext(expectOutputPath))
if _, err := os.Stat(expectOutputPath); err != nil {
continue
}