Jaki jest właściwy sposób używania nosa.tools i utrzymanie powodzenia u szczytu?Narzędzia do pielęgnacji nosa i pylinta
Poniższy kod:
'''
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)
Wyniki w następujących błędów pylint:
$ 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
Oczywiście, można wyłączyć E1101, czy istnieje przejrzysty sposób?
To jest dobry wgląd. Chociaż wygląda na to, że w 'nose/tools/trivial.py'" pep8 "wersje unittestowych implementacji' assertEqual'/'assertEquals' są dołączane jako' assert_equal'/'assert_equals' itd. Ale' assertEqual' i ' assertEquals's nie są dodawane. nose.tools zapewnia własną implementację 'eq_', różną od implementacji unittest (chociaż oba mają być takie same). – user650654
Oczywiście, dobry punkt, miałem na myśli 'assert_equal' i' assert_equals'. Tak, 'eq_' działa nieco inaczej niż' assertEqual/assertEquals' metody 'unittest.TestCase'. – alecxe