Merged in bubenkoff/pytest/329-skipif-requires-expression-as-a-string (pull request #43)
re #329 add test for skipif failure when you pass boolean without the reason. add emphasize to the docs.
This commit is contained in:
		
						commit
						f7a9beaefb
					
				|  | @ -44,6 +44,7 @@ During test function setup the condition ("sys.version_info >= (3,3)") is | ||||||
| checked.  If it evaluates to True, the test function will be skipped | checked.  If it evaluates to True, the test function will be skipped | ||||||
| with the specified reason.  Note that pytest enforces specifying a reason | with the specified reason.  Note that pytest enforces specifying a reason | ||||||
| in order to report meaningful "skip reasons" (e.g. when using ``-rs``). | in order to report meaningful "skip reasons" (e.g. when using ``-rs``). | ||||||
|  | If the condition is a string, it will be evaluated as python expression. | ||||||
| 
 | 
 | ||||||
| You can share skipif markers between modules.  Consider this test module:: | You can share skipif markers between modules.  Consider this test module:: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -100,6 +100,18 @@ class TestEvaluator: | ||||||
|         expl = ev.getexplanation() |         expl = ev.getexplanation() | ||||||
|         assert expl == "condition: not hasattr(os, 'murks')" |         assert expl == "condition: not hasattr(os, 'murks')" | ||||||
| 
 | 
 | ||||||
|  |     def test_marked_skip_with_not_string(self, testdir): | ||||||
|  |         item = testdir.getitem(""" | ||||||
|  |             import pytest | ||||||
|  |             @pytest.mark.skipif(False) | ||||||
|  |             def test_func(): | ||||||
|  |                 pass | ||||||
|  |         """) | ||||||
|  |         ev = MarkEvaluator(item, 'skipif') | ||||||
|  |         with pytest.raises(pytest.fail.Exception) as exc: | ||||||
|  |             assert ev.istrue() | ||||||
|  |         assert """Failed: you need to specify reason=STRING when using booleans as conditions.""" in exc.value.msg | ||||||
|  | 
 | ||||||
|     def test_skipif_class(self, testdir): |     def test_skipif_class(self, testdir): | ||||||
|         item, = testdir.getitems(""" |         item, = testdir.getitems(""" | ||||||
|             import pytest |             import pytest | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue