2016-06-10 16 views
0

Zum Beispiel in der Datenbank gibt es eine Tabelle tbl_identitydocument, die nicht mit anderen verbunden:Wie man Modelle in Yii 2 prüft?

CREATE TABLE [dbo].[tbl_identitydocument](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [Name] [varchar](100) NOT NULL, 
    [FISID] [int] NULL, 
CONSTRAINT [PK_tbl_identitydocument] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

Diese Tabelle zum Modell entspricht IdentityDocument.php. Im Modell gibt es die Validierung der Felder, denn es ist ein einfacher Unit-Test geschrieben.

Der Test schlägt fehl mit dem Fehler:

There was 1 error: [yii\base\InvalidParamException] Table not found: []

Wie 2 Modelle in Yü testen? Vielleicht mache ich etwas falsch.

Und für den Test und für die Web-Anwendung verwende ich die gleiche Datenbank.

Dies ist das, was in README.md geschrieben:

Create yii2_advanced_tests database then update it by applying migrations: codeception/bin/yii migrate

Wie ich es verstehe, durch die Migration mit I die Struktur der Industriedatenbank in die Testdatenbank und dann Vorrichtungen replizieren müssen verwenden füllen erstellt mit Hilfe von Migrationstabellen? Und erst danach ist das Unit-Testen von Modellen möglich? ..

Antwort

0

Gelöst. Wenn in der Unit Test Fixtures nicht verwendet werden, ist es möglich, die TestCase Klasse anstelle von DbTestCase zu erweitern, da sonst der Fixture Loader Fehler verursacht.