Я был следующим этим учебником для pytest:pytest не позволяя классы с не-статическими методами
http://doc.pytest.org/en/latest/getting-started.html#grouping-multiple-tests-in-a-class
Но заметил, что если я создаю:
class ComplexTestClass:
"""
Complex and more nuanced tests for specific sentences
"""
def test_multiple_sentences():
Если я не добавить @staticmethod
в в верхней части функций, я получаю сообщение об ошибке в функции, где он не может получить с ()
, и он становится выделенным красным цветом в моем PyCharm.
Неправильно ли это учебник (который не требует статических методов), или я ошибаюсь и будет staticmethod
лишить мои тесты?
согласно 'pytest' Docs, почему у него есть пример он имеет без' self' и без ' _init_'? Моя цель состоит в том, чтобы этот класс вызывался внутри 'pytest' и всех его методов при выполнении моих тестов. Будет ли 'staticmethod' предотвращать это при запуске' pytest -q test_text.py'? –
Точный пример, который вы ссылаетесь на * does *, имеет 'self' в качестве аргумента. Примеры на этой странице без аргумента 'self' - это функции, определенные вне' class', а не методы. Следуйте примеру, к которому вы подключились (т. Е. Не объявляйте свои тестовые методы как '@ staticmethod' и включаете аргумент' self'), и все ваши тестовые примеры должны выполняться. – Billy
Глупый меня. Вы правы. Спасибо. –