Warum sieht Django meine Tests nicht?

8

Ich habe das test.py-Modul erstellt, das mit

gefüllt ist %Vor%

und legte es in den Ordner mit meiner Anwendung. Wenn ich Tests mit

durchführe %Vor%

Nach dem Erstellen der Testdatenbank bekomme ich eine Antwort "Ran 0 Tests in 0.000s"

Was mache ich falsch?

P.S. Hier ist meine Projekthierarchie:

%Vor%

Ich habe test.py in tests.py umbenannt. Eclipse hat, dass dieses Modul mit Tests ist, aber die Antwort ist immer noch "Ran 0 Tests in 0.000s"

    
user441495 07.09.2010, 14:10
quelle

6 Antworten

3

Es ist etwas nicht ganz richtig, wenn Sie nach dem Umbenennen der Datei in tests.py dasselbe Ergebnis erhalten. Wie führen Sie die Tests durch? Tun Sie dies über die Befehlszeile oder haben Sie ein benutzerdefiniertes Laufziel mit Eclipse eingerichtet? Bitte versuchen Sie es über die Befehlszeile, falls Sie es noch nicht getan haben.

Feuere auch die Django-Shell ( python manage.py shell ) und importiere dein Testmodul.

%Vor%

Funktioniert der Import korrekt?

    
Manoj Govindan 07.09.2010, 16:40
quelle
29

Sie müssen für jede Testmethode das Präfix test_ verwenden.

    
pedro 07.10.2011 18:29
quelle
9

Zusammenfassung:

0) Versuchen Sie, nur für Ihre App zu starten:

%Vor%

1) Checken Sie Ihre settings.py -Datei ein, wenn YOUR_APP in INSTALLED_APP config

ist

2) Die Testmethode sollte mit dem Wort "test" beginnen, z. B .:

%Vor%

3) Wenn Sie anstelle der Datei tests.py ein Verzeichnis mit dem Namen Tests verwenden, überprüfen Sie, ob es eine init .py-Datei enthält Datei darin.

4) Wenn Sie ein test -Verzeichnis verwenden, entfernen Sie die Dateien tests.pyc und tests.pyo . ( pycache Verzeichnis für Python3)

    
Paulo Cheque 23.10.2014 16:49
quelle
5

Sie müssen es tests.py nennen.

    
simplyharsh 07.09.2010 14:14
quelle
5

Versuchen Sie, Ihre Methode test in etwas wie test_content umzubenennen.

Ich glaube, dass der Test-Runner alle Methoden namens test_* ausführen wird (siehe die Python-Dokumente für Testcode organisieren Djangos TestCase ist eine Unterklasse von unittest.TestCase , daher sollten die gleichen Regeln gelten.

    
Alasdair 07.09.2010 20:16
quelle
0

Ich habe all diese Dinge ausprobiert, aber ich habe es versäumt, die Datei __init__.py in das Testverzeichnis einzufügen, das ich für alle meine Tests erstellt habe, und Django konnte es nicht finden.

    
Spartacus 28.11.2016 23:55
quelle

Tags und Links