Я использую pylint в проекте, и что-то меня беспокоит.Pylint: отключить предупреждение для подкласса
Например, я создаю единичный тест (подкласс unittest.TestCase). Этот родительский класс имеет много методов, поэтому pylint говорит «R0904: Слишком много публичных методов». Чтобы «решить» это предупреждение, я отключу локально эту проверку.
Но мне нужно написать много модульного теста, и это мешает мне отключать локально эту проверку каждый раз.
Так что я ищу способ отключить эту проверку для всех подклассов unittest.TestCase. В файле конфигурации pylint может быть, но я ничего не нашел.
У вас есть идея сделать это?
Большое спасибо за помощь.
Надеюсь, есть более простой вариант, но если нет ... вы всегда можете написать плагин, что подклассы (или обезьяньи патчи, но подклассы кажутся чище здесь). Я бы сделал это, добавив новую опцию 'ignore-test-classes' и использую ее, чтобы пропустить проверку' max-public-methods' для любого класса, который наследуется от любого из игнорируемых классов. (Код, который обрабатывает «ignore-iface-методы» класса check, должен быть хорошей моделью.) На самом деле это похоже на то, что он может быть достаточно общим, что вы, вероятно, можете отправить его вверх по течению, если вы это сделаете. – abarnert
Не достает вас туда, но вы всегда можете отбросить 'pylintrc' в пакет (т.е. любой каталог с' __init __. Py' в нем), поэтому, если у вас есть все ваши тесты в одном каталоге 'tests', например, вы можете по крайней мере отключить его на основе проекта, даже если это не глобально. –
Спасибо за ваш ответ. Abarnert, я буду проверять, как создать для этого плагин. Моя проблема не только для класса unittest. Например, я использую sqlalchemy и для подкласса sqlalchemy.types.TypeDecorator. Я попытаюсь написать общий плагин, чтобы добавить параметр, например disable-XXXX = unittest.TestCase, ..., ... –