@@ -192,7 +192,40 @@ def test_skip(self, pytester):
192
192
f"""
193
193
import pytest
194
194
def test_skip():
195
- pytest.skip('{ reason } ')
195
+ pytest.skip("{ reason } ")
196
+ """
197
+ )
198
+ page = run (pytester )
199
+ assert_results (page , skipped = 1 , total_tests = 0 )
200
+
201
+ log = get_text (page , ".summary div[class='log']" )
202
+ assert_that (log ).contains (reason )
203
+
204
+ def test_skip_function_marker (self , pytester ):
205
+ reason = str (random .random ())
206
+ pytester .makepyfile (
207
+ f"""
208
+ import pytest
209
+ @pytest.mark.skip(reason="{ reason } ")
210
+ def test_skip():
211
+ assert True
212
+ """
213
+ )
214
+ page = run (pytester )
215
+ assert_results (page , skipped = 1 , total_tests = 0 )
216
+
217
+ log = get_text (page , ".summary div[class='log']" )
218
+ assert_that (log ).contains (reason )
219
+
220
+ def test_skip_class_marker (self , pytester ):
221
+ reason = str (random .random ())
222
+ pytester .makepyfile (
223
+ f"""
224
+ import pytest
225
+ @pytest.mark.skip(reason="{ reason } ")
226
+ class TestSkip:
227
+ def test_skip():
228
+ assert True
196
229
"""
197
230
)
198
231
page = run (pytester )
@@ -216,20 +249,60 @@ def test_xfail(self, pytester):
216
249
f"""
217
250
import pytest
218
251
def test_xfail():
219
- pytest.xfail(' { reason } ' )
252
+ pytest.xfail(" { reason } " )
220
253
"""
221
254
)
222
255
page = run (pytester )
223
256
assert_results (page , xfailed = 1 )
224
257
assert_that (get_log (page )).contains (reason )
225
258
259
+ def test_xfail_function_marker (self , pytester ):
260
+ reason = str (random .random ())
261
+ pytester .makepyfile (
262
+ f"""
263
+ import pytest
264
+ @pytest.mark.xfail(reason="{ reason } ")
265
+ def test_xfail():
266
+ assert False
267
+ """
268
+ )
269
+ page = run (pytester )
270
+ assert_results (page , xfailed = 1 )
271
+ assert_that (get_log (page )).contains (reason )
272
+
273
+ def test_xfail_class_marker (self , pytester ):
274
+ pytester .makepyfile (
275
+ """
276
+ import pytest
277
+ @pytest.mark.xfail(reason="broken")
278
+ class TestXFail:
279
+ def test_xfail(self):
280
+ assert False
281
+ """
282
+ )
283
+ page = run (pytester )
284
+ assert_results (page , xfailed = 1 )
285
+
226
286
def test_xpass (self , pytester ):
227
287
pytester .makepyfile (
228
288
"""
229
289
import pytest
230
290
@pytest.mark.xfail()
231
291
def test_xpass():
232
- pass
292
+ assert True
293
+ """
294
+ )
295
+ page = run (pytester )
296
+ assert_results (page , xpassed = 1 )
297
+
298
+ def test_xpass_class_marker (self , pytester ):
299
+ pytester .makepyfile (
300
+ """
301
+ import pytest
302
+ @pytest.mark.xfail()
303
+ class TestXPass:
304
+ def test_xpass(self):
305
+ assert True
233
306
"""
234
307
)
235
308
page = run (pytester )
0 commit comments