Ich habe einen Komponententest geschrieben, der überprüft, ob die Anfangsdaten korrekt geladen sind. Die Node.objects.all().count()
gibt jedoch immer 0 zurück, daher scheint es, als ob die Fixtures überhaupt nicht geladen sind. Es gibt keine Ausgabe/Fehler-Meldung in der Befehlszeile, dass Fixtures nicht geladen sind.Geräte, die während des Tests nicht geladen wurden
from core.models import Node
class NodeTableTestCase(unittest.TestCase):
fixtures = ['core/core_fixture.json']
def setUp(self):
print "nothing to prepare..."
def testFixture(self):
"""Check if initial data can be loaded correctly"""
self.assertEqual(Node.objects.all().count(), 14)
die Halterung core_fixture.json
enthält 14 Knoten und ich verwende diesen Scheinwerfer als Anfangsdatum Last in die DB mit dem folgenden Befehl:
python manage.py loaddata core/core_fixture.json
sie in dem Ordner befindet ich in dem vorgesehenen Einstellung FIXTURE_DIRS
.
Danke für die Vorschläge. Ich habe in das FIXTURE_DIRS auch das Kernverzeichnis aufgenommen. Während ich die Fixtures immer noch mit dem Befehl loaddata laden kann, erhalte ich den folgenden Fehler beim Ausführen der Tests: Überprüfen Sie, ob die Initialdaten korrekt geladen werden können ... FAIL –
Es könnte mit meinen Modellsignalen und einem Datenkonflikt zusammenhängen. Während ich das Signal für den Befehl loaddata nicht mit "if not kwargs.get ('raw', False):" ausführe, wird das Signal wahrscheinlich beim Laden der Fixtures innerhalb eines Test-Sets ausgeführt. werde es überprüfen. –