Ich würde gerne einen einzelnen Test in einer Unterklasse von unittest.TestCase
mit nose2
nach How to run specific test in Nose2 ausführen, aber es scheint nicht für mich zu arbeiten. Ich verwende das folgende Beispielskript, das ich mickey_mouse_test.py
genannt habe:Wie führe ich einen einzigen Testfall in nose2 aus?
import unittest
class TestMickeyMouse(unittest.TestCase):
def test_1plus1is2(self):
self.assertTrue(1+1 == 2)
def test_to_uppercase(self):
self.assertEqual("hello".upper(), "HELLO")
if __name__ == "__main__":
unittest.main()
Wenn ich nose2 mickey_mouse_test
im selben Verzeichnis laufen, läuft es alle Tests im Modul:
[email protected]:~/Documents/Scratch$ nose2 mickey_mouse_test
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
jedoch wenn ich versuche nur test_to_uppercase
wie so dass ich einen Fehler zu laufen:
[email protected]:~/Documents/Scratch$ nose2 mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
AttributeError: module 'mickey_mouse_test' has no attribute 'test_to_uppercase'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
wenn ich die -s
Option ich noch einen Fehler, albe es eine anderer:
[email protected]:~/Documents/Scratch$ nose2 -s mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
OSError: /home/kurt/Documents/Scratch/mickey_mouse_test.test_to_uppercase is not a directory
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
ich auch die „Angeben von Tests ausführen“ versucht habe Leseabschnitt in http://nose2.readthedocs.io/en/latest/usage.html, in dem es heißt, dass der ‚Python Objektteil‘ soll ein ‚gepunkteter Name‘ sein. Ich sehe nicht, warum in diesem Fall mickey_mouse_test.test_to_uppercase
kein 'punktierter Name' ist. Irgendwelche Ideen, warum das nicht funktioniert?