2016-11-13 2 views
0

Ich konnte nirgendwo eine Antwort finden. Ist es möglich, tests.py mit Unittests in IDLE oder CMD auszuführen? Zum Beispiel, wenn es 3 Tests, 1 schlug fehl, 2 habe ich die Ausgabe wie bekommen würde:Laufende Unit Tests in CMD oder Python IDLE

python tests.py 
Test1 failed 
Test2 passed 
Test3 passed 

Ich habe versucht, die Datei ausgeführt wird, und es gibt mir nur, ein OK.

C:PycharmProjects>python testfin1.py 
...... 
---------------------------------------------------------------------- 
Ran 6 tests in 0.002s 

OK 

Ich möchte jedoch Ergebnisse für alle Tests erhalten, ist das möglich?

Antwort

1

Wenn alle Tests bestanden werden, erhalten Sie nur Details wie unten, wo 6 Tests ausgeführt wurden und alle bestanden wurden.

C:PycharmProjects>python testfin1.py 
...... 
---------------------------------------------------------------------- 
Ran 6 tests in 0.002s 

OK 

Im Fehlerfall wird StackTrace mit Testnamen angezeigt, der fehlschlägt. Sie können im Detail über here schauen.

+0

Wenn es fehlgeschlagene Tests gibt, gibt es mir nur FAILED (Fehler = 2) und der Fehler. –

+0

Wie in den Dokumenten erwähnt (Link i oben eingefügt), können Sie Python -m Unittest -v Test_Module ausführen, um Tests mit hoher Ausführlichkeit auszuführen. – falloutcoder

+0

Ah, ich verstehe. Vielen Dank. –

0

Wenn ein Test fehlschlägt, wird die Fehlermeldung angezeigt. Versuchen Sie dieses Beispiel -

import unittest 

class TestStringMethods(unittest.TestCase): 

    def test_upper(self): 
     self.assertEqual('foo'.upper(), 'foo') 

    def test_isupper(self): 
     self.assertTrue('FOO'.isupper()) 
     self.assertFalse('Foo'.isupper()) 

if __name__ == '__main__': 
    unittest.main()