2010-12-10 5 views
6

Ich habe eine Django-Anwendung, myApp. Darin gibt es eine tests.py-Datei, die eine Anzahl von Testfällen mit der Klasse django.test.TestCase definiert. Zum Beispiel heißt einer von ihnen WebViews und hat eine Testmethode check_status_codes.Django nicht Tests mit manage.py Test ausgeführt, es sei denn, eine App und eine bestimmte Testmethode angegeben ist

Wenn ich ./manage.py Test ausführen, wird die Datenbank mit meinen ursprünglichen Daten erstellt, aber dann sagt es mir, dass es 0 Tests ausgeführt hat. Ich ähnliche Ergebnisse (Tests nicht ausgeführt wird), wenn ich dies tun:

./manage.py Test myApp

oder sogar unter:

./manage.py Test myApp .WebViews

Allerdings, wenn ich ausführen

./manage.py test.WebViews.check_status_codes

dann, dass genaue Testverfahren läuft wie erwartet.

Ich kann mehrere Testmethoden zusammen streichen und sie zum Laufen bringen, aber das wird sehr langweilig und ich habe das Gefühl, dass mir etwas fehlt.

Irgendwelche Hinweise oder Vorschläge, was zu tun ist?

Danke!

Antwort

8

Ich glaube, die Konvention mit Komponententests besteht darin, dass Ihre Testmethoden vorab mit Tests versehen werden. Zum Beispiel:

class FooTest(TestCase): 

    def setUp(self): 
     # do setup stuff here 
     pass 

    def tearDown(self): 
     # do teardown here 
     pass 

    def test_one_equals_one(self): 
     self.assertEqual(1, 1, "One did not equal 1") 
+0

Vielen Dank, es hat funktioniert! Ich habe es nicht versucht. – lunafiko

Verwandte Themen