Sto usando il puntatore in un progetto e qualcosa mi dà fastidio.Pylint: disabilita l'avviso per sottoclasse
Ad esempio, creo un test di unità (sottoclasse di unittest.TestCase). Questa classe genitore ha un sacco di metodi, per cui pylint dice "R0904: Troppi metodi pubblici". Per "risolvere" questo avviso, disabilito localmente questo controllo.
Ma ho bisogno di scrivere un sacco di unit test e mi infastidisce disabilitare ogni volta questo controllo.
Quindi sto cercando un modo per disabilitare questo controllo per tutte le sottoclassi di unittest.TestCase. In un file di configurazione di pylint potrebbe essere, ma non ho trovato nulla.
Hai qualche idea per farlo?
Grazie mille per il vostro aiuto.
Speriamo che ci sia un'opzione più semplice, ma se no ... puoi sempre scrivere un plugin che sottoclassi (o monkeypatches, ma sottoclasse sembra più pulito qui) il controllore del design. Lo farei aggiungendo una nuova opzione 'ignore-test-classes' e usiamola per saltare il controllo' max-public-methods' per qualsiasi classe che eredita da una delle classi ignorate. (Il codice che gestisce i 'ignore-iface-methods' del correttore di classe dovrebbe essere un buon modello.) In effetti, sembra che possa essere di uso sufficientemente generale da poterlo inviare upstream se lo si fa. – abarnert
Non ti porta lì, ma puoi sempre rilasciare un 'pylintrc' in un pacchetto (cioè qualsiasi directory con un' __init __. Py' in esso), quindi se hai tutti i tuoi test in una directory 'tests', per esempio, puoi almeno disabilitarlo su una base di progetto, anche se non globalmente. –
Grazie per la risposta. Abarnert, controllerò come creare un plugin per questo. Il mio problema non è solo per la classe unittest. Ad esempio, uso sqlalchemy e per sottoclasse di sqlalchemy.types.TypeDecorator. Proverò a scrivere un plugin generico per aggiungere un'opzione come disable-XXXX = unittest.TestCase, ..., ... –