如何在 Yii 2 中测试模型?

How to test models in Yii 2?

比如数据库中有一个tabletbl_identitydocument,没有链接到其他的:

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]

此table对应型号IdentityDocument.php。在模型中有字段的验证,因为它写了一个简单的单元测试。

测试失败并出现错误:

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

如何在 Yii 2 中测试模型?也许我做错了什么。

对于测试和 Web 应用程序,我使用相同的数据库。

这是README.md中写的:

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

据我了解,通过使用迁移,我需要将工业数据库的结构复制到测试数据库,然后使用固定装置来填充使用迁移创建的 tables?只有在那之后才能对模型进行单元测试?..

已解决。如果在单元测试中不使用fixture,那么可以扩展TestCase class而不是DbTestCase,否则fixture loader会导致错误。