Почему unittest.Test Cases не видит мои настройки pytest?Python

Программы на Python
Ответить
Anonymous
 Почему unittest.Test Cases не видит мои настройки pytest?

Сообщение Anonymous »

Я пытаюсь использовать фикстуры py.test с моими модульными тестами вместе с unittest. Я поместил несколько фикстур в файл conftest.py на верхнем уровне проекта (как описано здесь), украсил их @pytest.fixture и поместил их имена в качестве аргументов теста. функции, которым они требуются.

Фикстуры регистрируются правильно, как показано 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'
test_stuff.py

Код: Выделить всё

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'
test_stuff.py

Код: Выделить всё

import pytest

class TestWithFixtures:

def test_with_a_fixture(self, my_fixture):
print(my_fixture)


Я задаю этот вопрос больше из любопытства; на данный момент я просто отказываюсь от unittest.

Подробнее здесь: https://stackoverflow.com/questions/226 ... t-fixtures
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»