Pytest use same fixture twice in one function

Viewed 8778

For my web server, I have a login fixture that create a user and returns the headers needed to send requests. For a certain test, I need two users. How can I use the same fixture twice in one function?

from test.fixtures import login


class TestGroups(object):

    def test_get_own_only(self, login, login):
         pass
5 Answers

I have done it like so:

limits = [10, 20, 30]

@pytest.fixture(params=limits)
def number(request):
    return random.randint(request.param)

@pytest.fixture(params=limits)
def two_numbers(request):
    return number(request), number(request)

def test_numbers(two_numbers):
    num_1, num_2 = two_numbers
    ...
Related