Używam pylint w projekcie i coś mi przeszkadza.Pylint: wyłącz ostrzeżenie dla podklasy
Na przykład tworzę test jednostkowy (podklasa unittest.TestCase). Ta klasa nadrzędna ma wiele metod, więc pylint mówi "R0904: Zbyt wiele publicznych metod". Aby "rozwiązać" to ostrzeżenie, wyłączam tę kontrolę lokalnie.
Ale muszę napisać wiele testów jednostkowych i przeszkadza mi to, że za każdym razem wyłączam kontrolę lokalną.
Poszukuję sposobu wyłączenia tej kontroli dla wszystkich podklas jednostek unittest.TestCase. W pliku konfiguracyjnym pylint może być, ale niczego nie znalazłem.
Masz jakiś pomysł, aby to zrobić?
Bardzo dziękuję za pomoc.
Mam nadzieję, że istnieje prostsza opcja, ale jeśli nie ... zawsze możesz napisać wtyczkę, która podklasuje (lub małymi podróbkami, ale podklasy wydają się tu czystsze). Zrobiłbym to, dodając nową opcję 'ignore-test-classes' i używaj jej do pominięcia sprawdzenia' max-public-methods' dla dowolnej klasy, która dziedziczy z dowolnej z ignorowanych klas. (Kod, który obsługuje "ignore-iface-methods" modułu sprawdzania klasy "powinien być dobrym modelem.) W rzeczywistości wygląda na to, że może być wystarczająco powszechny, abyś mógł go przesłać dalej, jeśli to zrobisz. – abarnert
Nie dość, że się tam dostaniesz, ale zawsze możesz umieścić 'pylintrc' w paczce (tzn. W dowolnym katalogu z' __init __. Py'), więc jeśli masz wszystkie testy w jednym katalogu 'tests', na przykład możesz przynajmniej wyłączyć to na podstawie projektu, nawet jeśli nie globalnie. –
Dzięki za odpowiedź. Abarnert, sprawdzę, jak stworzyć wtyczkę do tego. Mój problem dotyczy nie tylko klasy najbardziej zależnej. Na przykład używam sqlalchemy i podklasy sqlalchemy.types.TypeDecorator. Spróbuję napisać ogólną wtyczkę, aby dodać opcję, taką jak disable-XXXX = unittest.TestCase, ..., ... –