Was ist der richtige Weg, nose.tools zu verwenden und pylint glücklich zu halten?Nase Werkzeuge und pylint
Der folgende Code:
'''
This is a test
'''
import nose.tools
import nose.tools.trivial
nose.tools.assert_equal(1, 1)
nose.tools.assert_equals(1, 1)
nose.tools.trivial.assert_equal(1, 1)
nose.tools.trivial.assert_equals(1, 1)
Ergebnisse in den folgenden Pylint Fehler:
$ pylint -i y -r n /tmp/aseq.py
************* Module aseq
E1101: 8,0: Module 'nose.tools' has no 'assert_equal' member
E1101: 9,0: Module 'nose.tools' has no 'assert_equals' member
E1101: 11,0: Module 'nose.tools.trivial' has no 'assert_equal' member
E1101: 12,0: Module 'nose.tools.trivial' has no 'assert_equals' member
Natürlich ein E1101 deaktivieren könnte, gibt es eine sauberere Weg?
Dies ist ein guter Einblick. Es sieht zwar so aus, dass in 'nose/tools/trivial.py'" pep8 "Versionen der unittest-Implementierungen von' assertEqual'/'assertEquals' als' assert_equal'/'assert_equals' usw. angehängt werden. Aber' assertEqual' und ' assertEquals' werden nicht hinzugefügt. nose.tools bietet eine eigene Implementierung von 'eq_', die sich von den Implementierungen von unittest unterscheidet (obwohl beide gleich sein sollen). – user650654
Sicher, guter Punkt, ich meinte 'assert_equal' und' assert_equals'. Ja, 'eq_' funktioniert etwas anders als' assertEqual/assertEquals' Methoden von 'unittest.TestCase'. – alecxe