2009-03-28 15 views
3

Ich benutze CakePHP und verwende Simplestest als Testing Suite. Immer, wenn ich Tests an den Modellen laufen, ich einen Fehler:Fehlende Tabelle mit Simpletest in CakePHP

Missing Database Table 
Error: Database table account_types for model AccountType was not found." 

(für was auch immer)

Wer weiß, wie dieses Problem zu beheben?

Meine Vermutung ist, die Fixtures werden nicht erstellt oder etwas in diese Richtung.

Antwort

6

Die Antwort zu meinem speziellen Problem gefunden. In den eigentlichen Testfalldateien (meine waren in App-> Tests-> Fälle-> Modelle) wurden die verwendeten Fixtures nicht automatisch in die $ fixtures-Variable generiert.

Die einfache Lösung war immer, wenn ein "Missing Database Table" -Fehler auftritt, würde ich sicherstellen, dass ich den Namen der Datenbank nicht gefunden (die tatsächliche Fixture) in der $ Fixture-Variable in der Testdatei.

Also sagen wir, dass account_types nicht gefunden wurde. Im eigentlichen Testfall wurde ich ausgeführt, wo der $ Fixtures Variable war, würde ich tun:

var $fixtures = array('whatever_fixtures_where_already_here', 'name_of_missing_fixture', 'name_of_another_missing_fixture'); 
+0

Es funktioniert für mich, danke! – raultm

1

Alle Spiele, die Sie direkt in dem Armaturen-Array sein müssen verwenden werden, und es muß auch Vorrichtungen für die erstellt werden Jedes Modell im Zusammenhang mit (hasMany, belongsTo, etc) die Fixtures in der Fixture-Array

Verwandte Themen