re #329 add test for skipif failure when you pass boolean without the reason. add emphasize to the docs.
--HG-- branch : 329-skipif-requires-expression-as-a-string
This commit is contained in:
parent
31421cb6d7
commit
214793f697
|
@ -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