Фикстуры регистрируются правильно, как показано py.test --fixtures test_stuff.py, но когда я запускаю py.test , я получаю NameError: глобальное имя «my_fixture» не определено. Кажется, это происходит только тогда, когда я использую подклассы unittest.TestCase, но в документации py.test говорится, что он хорошо работает с unittest.
Почему тесты не видят фикстуры, когда я использую unittest.TestCase?
Не работает:
conftest.py
Код: Выделить всё
@pytest.fixture
def my_fixture():
return 'This is some fixture data'
Код: Выделить всё
import unittest
import pytest
class TestWithFixtures(unittest.TestCase):
def test_with_a_fixture(self, my_fixture):
print(my_fixture)
Работает:
conftest.py
Код: Выделить всё
@pytest.fixture()
def my_fixture():
return 'This is some fixture data'
Код: Выделить всё
import pytest
class TestWithFixtures:
def test_with_a_fixture(self, my_fixture):
print(my_fixture)
Я задаю этот вопрос больше из любопытства; на данный момент я просто отказываюсь от unittest.
Подробнее здесь: https://stackoverflow.com/questions/226 ... t-fixtures
Мобильная версия