2
2
3
3
import io .cucumber .core .eventbus .EventBus ;
4
4
import io .cucumber .core .runtime .TimeServiceEventBus ;
5
- import io .cucumber .plugin .event .HookTestStep ;
6
- import io .cucumber .plugin .event .PickleStepTestStep ;
7
- import io .cucumber .plugin .event .Result ;
8
- import io .cucumber .plugin .event .TestCase ;
9
- import io .cucumber .plugin .event .TestRunFinished ;
10
- import io .cucumber .plugin .event .TestStepFinished ;
5
+ import io .cucumber .plugin .event .*;
11
6
import org .junit .jupiter .api .BeforeEach ;
12
7
import org .junit .jupiter .api .Test ;
13
8
14
9
import java .io .ByteArrayOutputStream ;
10
+ import java .net .URI ;
15
11
import java .time .Clock ;
16
12
import java .time .Duration ;
17
13
import java .time .Instant ;
14
+ import java .util .List ;
18
15
import java .util .UUID ;
19
16
20
17
import static io .cucumber .core .plugin .Bytes .bytes ;
24
21
import static org .hamcrest .CoreMatchers .equalTo ;
25
22
import static org .hamcrest .MatcherAssert .assertThat ;
26
23
import static org .hamcrest .text .IsEqualCompressingWhiteSpace .equalToCompressingWhiteSpace ;
27
- import static org .mockito .Mockito .mock ;
28
24
29
25
class ProgressFormatterTest {
30
26
31
27
final EventBus bus = new TimeServiceEventBus (Clock .systemUTC (), UUID ::randomUUID );
32
28
final ByteArrayOutputStream out = new ByteArrayOutputStream ();
33
29
final ProgressFormatter formatter = new ProgressFormatter (out );
30
+ private final MockTestCase mocktestCase = new MockTestCase ();
31
+ private final MockPickleStepTestStep mockPickleStepTestStep = new MockPickleStepTestStep ();
34
32
35
33
@ BeforeEach
36
34
void setup () {
@@ -47,43 +45,136 @@ void prints_empty_line_for_empty_test_run() {
47
45
@ Test
48
46
void prints_empty_line_and_green_dot_for_passing_test_run () {
49
47
Result result = new Result (PASSED , Duration .ZERO , null );
50
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( PickleStepTestStep . class ) , result ));
48
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
51
49
bus .send (new TestRunFinished (Instant .now (), result ));
52
50
assertThat (out , bytes (equalToCompressingWhiteSpace (AnsiEscapes .GREEN + "." + AnsiEscapes .RESET + "\n " )));
53
51
}
54
52
55
53
@ Test
56
54
void print_green_dot_for_passing_step () {
57
55
Result result = new Result (PASSED , Duration .ZERO , null );
58
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( PickleStepTestStep . class ) , result ));
56
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
59
57
assertThat (out , bytes (equalTo (AnsiEscapes .GREEN + "." + AnsiEscapes .RESET )));
60
58
}
61
59
62
60
@ Test
63
61
void print_yellow_U_for_undefined_step () {
64
62
Result result = new Result (UNDEFINED , Duration .ZERO , null );
65
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( PickleStepTestStep . class ) , result ));
63
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
66
64
assertThat (out , bytes (equalTo (AnsiEscapes .YELLOW + "U" + AnsiEscapes .RESET )));
67
65
}
68
66
69
67
@ Test
70
68
void print_nothing_for_passed_hook () {
71
69
Result result = new Result (PASSED , Duration .ZERO , null );
72
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( HookTestStep . class ) , result ));
70
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
73
71
}
74
72
75
73
@ Test
76
74
void print_red_F_for_failed_step () {
77
75
Result result = new Result (FAILED , Duration .ZERO , null );
78
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( PickleStepTestStep . class ) , result ));
76
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
79
77
assertThat (out , bytes (equalTo (AnsiEscapes .RED + "F" + AnsiEscapes .RESET )));
80
78
}
81
79
82
80
@ Test
83
81
void print_red_F_for_failed_hook () {
84
82
Result result = new Result (FAILED , Duration .ZERO , null );
85
- bus .send (new TestStepFinished (Instant .now (), mock ( TestCase . class ), mock ( HookTestStep . class ) , result ));
83
+ bus .send (new TestStepFinished (Instant .now (), mocktestCase , mockPickleStepTestStep , result ));
86
84
assertThat (out , bytes (equalTo (AnsiEscapes .RED + "F" + AnsiEscapes .RESET )));
87
85
}
88
86
87
+ private class MockTestCase implements TestCase {
88
+ @ Override
89
+ public Integer getLine () {
90
+ return null ;
91
+ }
92
+
93
+ @ Override
94
+ public Location getLocation () {
95
+ return null ;
96
+ }
97
+
98
+ @ Override
99
+ public String getKeyword () {
100
+ return null ;
101
+ }
102
+
103
+ @ Override
104
+ public String getName () {
105
+ return null ;
106
+ }
107
+
108
+ @ Override
109
+ public String getScenarioDesignation () {
110
+ return null ;
111
+ }
112
+
113
+ @ Override
114
+ public List <String > getTags () {
115
+ return null ;
116
+ }
117
+
118
+ @ Override
119
+ public List <TestStep > getTestSteps () {
120
+ return null ;
121
+ }
122
+
123
+ @ Override
124
+ public URI getUri () {
125
+ return null ;
126
+ }
127
+
128
+ @ Override
129
+ public UUID getId () {
130
+ return null ;
131
+ }
132
+ }
133
+
134
+ private class MockPickleStepTestStep implements PickleStepTestStep {
135
+ @ Override
136
+ public String getPattern () {
137
+ return null ;
138
+ }
139
+
140
+ @ Override
141
+ public Step getStep () {
142
+ return null ;
143
+ }
144
+
145
+ @ Override
146
+ public List <Argument > getDefinitionArgument () {
147
+ return null ;
148
+ }
149
+
150
+ @ Override
151
+ public StepArgument getStepArgument () {
152
+ return null ;
153
+ }
154
+
155
+ @ Override
156
+ public int getStepLine () {
157
+ return 0 ;
158
+ }
159
+
160
+ @ Override
161
+ public URI getUri () {
162
+ return null ;
163
+ }
164
+
165
+ @ Override
166
+ public String getStepText () {
167
+ return null ;
168
+ }
169
+
170
+ @ Override
171
+ public String getCodeLocation () {
172
+ return null ;
173
+ }
174
+
175
+ @ Override
176
+ public UUID getId () {
177
+ return null ;
178
+ }
179
+ }
89
180
}
0 commit comments