Я изучаю pytest и пишу свой код с помощью pylint. Но Пилинт по-прежнему жалуется на: W0621: Redefining name %r from outer scope (line %s)
для следующего примера из pytest:
# test_wallet.py
@pytest.fixture
def my_wallet():
'''Returns a Wallet instance with a zero balance'''
return Wallet()
@pytest.mark.parametrize("earned,spent,expected", [
(30, 10, 20),
(20, 2, 18),
])
def test_transactions(my_wallet, earned, spent, expected):
my_wallet.add_cash(earned)
my_wallet.spend_cash(spent)
assert my_wallet.balance == expected
Переопределение имени my_wallet
из внешней области.
Я нашел обходной путь, добавив префикс _
к имени прибора: _my_wallet
.
Что было бы лучше всего, если бы я хотел сохранить фикстуры в том же файле, что и функции?
- Добавить перед всеми приборами
_
? - Отключить эту
pylint
проверку для тестов? - Лучшее предложение?