2016-11-10 4 views
0

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?

Antwort

Verwandte Themen