Added more test cases
This commit is contained in:
parent
40fa7b25c5
commit
36b86af4b9
|
@ -249,7 +249,9 @@ class TestMetafunc:
|
||||||
def test_parametrize_indirect_list_functional(self, testdir):
|
def test_parametrize_indirect_list_functional(self, testdir):
|
||||||
"""
|
"""
|
||||||
Test parametrization with 'indirect' parameter applied on
|
Test parametrization with 'indirect' parameter applied on
|
||||||
particular arguments.
|
particular arguments. As y is is direct, its value should
|
||||||
|
be used directly rather than being passed to the fixture
|
||||||
|
y.
|
||||||
|
|
||||||
:param testdir: the instance of Testdir class, a temporary
|
:param testdir: the instance of Testdir class, a temporary
|
||||||
test directory.
|
test directory.
|
||||||
|
@ -280,6 +282,64 @@ class TestMetafunc:
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
metafunc.parametrize('x, y', [('a', 'b')], indirect=['x', 'z'])
|
metafunc.parametrize('x, y', [('a', 'b')], indirect=['x', 'z'])
|
||||||
|
|
||||||
|
@pytest.mark.issue714
|
||||||
|
def test_parametrize_uses_no_fixture_error_indirect_false(self, testdir):
|
||||||
|
"""The 'uses no fixture' error tells the user at collection time
|
||||||
|
that the parametrize data they've set up doesn't correspond to the
|
||||||
|
fixtures in their test function, rather than silently ignoring this
|
||||||
|
and letting the test potentially pass.
|
||||||
|
"""
|
||||||
|
testdir.makepyfile("""
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('x, y', [('a', 'b')], indirect=False)
|
||||||
|
def test_simple(x):
|
||||||
|
assert len(x) == 3
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest("--collect-only")
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
"*uses no fixture 'y'*",
|
||||||
|
])
|
||||||
|
|
||||||
|
@pytest.mark.xfail
|
||||||
|
@pytest.mark.issue714
|
||||||
|
def test_parametrize_uses_no_fixture_error_indirect_true(self, testdir):
|
||||||
|
testdir.makepyfile("""
|
||||||
|
import pytest
|
||||||
|
@pytest.fixture(scope='function')
|
||||||
|
def x(request):
|
||||||
|
return request.param * 3
|
||||||
|
@pytest.fixture(scope='function')
|
||||||
|
def y(request):
|
||||||
|
return request.param * 2
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('x, y', [('a', 'b')], indirect=True)
|
||||||
|
def test_simple(x):
|
||||||
|
assert len(x) == 3
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest("--collect-only")
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
"*uses no fixture 'y'*",
|
||||||
|
])
|
||||||
|
|
||||||
|
@pytest.mark.xfail
|
||||||
|
@pytest.mark.issue714
|
||||||
|
def test_parametrize_indirect_uses_no_fixture_error_indirect_list(self, testdir):
|
||||||
|
testdir.makepyfile("""
|
||||||
|
import pytest
|
||||||
|
@pytest.fixture(scope='function')
|
||||||
|
def x(request):
|
||||||
|
return request.param * 3
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('x, y', [('a', 'b')], indirect=['x'])
|
||||||
|
def test_simple(x):
|
||||||
|
assert len(x) == 3
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest("--collect-only")
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
"*uses no fixture 'y'*",
|
||||||
|
])
|
||||||
|
|
||||||
def test_addcalls_and_parametrize_indirect(self):
|
def test_addcalls_and_parametrize_indirect(self):
|
||||||
def func(x, y): pass
|
def func(x, y): pass
|
||||||
metafunc = self.Metafunc(func)
|
metafunc = self.Metafunc(func)
|
||||||
|
|
Loading…
Reference in New Issue