Ich bin sowohl für Python als auch für Django neu und lerne, indem ich eine Website für das Diätmanagement erstelle, aber ich bin völlig besiegt, weil meine Unit-Tests ausgeführt wurden. Alle Dokumente und Blogs, die ich gefunden habe, besagen, dass sich tests.py, solange es aus tests.py erkennbar ist, im selben Ordner befindet wie models.py und Ihre Testklasse-Unterklassen TestCase, automatisch abgerufen werden sollte. Dies funktioniert bei mir nicht, wenn ich es ausführe manage.py test <myapp>, werden keine Tests gefunden.
Ich habe mit all meinen Tests in einem eigenen Paket begonnen, es aber auf alle Tests vereinfacht, die sich nur in meiner Datei tests.py befinden. Die aktuelle tests.py sieht aus wie:
import unittest
from pyDietTracker.models import Weight
from pyDietTracker.weight.DisplayDataAdapters import DisplayWeight
class TestDisplayWeight(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testGetWeightInStone_KG_Correctly_Converted(self):
weight = Weight()
weight.weight = 99.8
testAdapter = DisplayWeight(weight)
self.assertEquals(testAdapter.GetWeightInStone(), '15 st 10 lb')
Ich habe es versucht, indem ich auch die Django TestCase-Klasse untergeordnet habe, aber das hat auch nicht funktioniert. Ich verwende Django 1.1.1, Python 2.6 und verwende Snow Leopard.
Ich bin mir sicher, dass mir etwas sehr Grundlegendes und Offensichtliches fehlt, aber ich kann einfach nicht herausfinden, was. Irgendwelche Ideen?
Bearbeiten: Nur ein kurzes Update nach einem Kommentar
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'pyDietTracker',
)
Um die Tests zum Laufen zu bringen, laufe ich manage.py test pyDietTracker
settingssiehst du aus? Befindet sich diese Anwendung in der Liste von INSTALLED_APPS?