如何在Yii 2中测试模型?

时间:2016-06-10 04:41:13

标签: php unit-testing model yii2 codeception

例如,在数据库中有一个表tbl_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]

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

测试失败并显示错误:

  

有1个错误: [yii \ base \ InvalidParamException]找不到表:[]

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

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

这是在README.md中写的:

  

创建yii2_advanced_tests数据库,然后通过应用更新它   迁移:codeception / bin / yii migrate

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

1 个答案:

答案 0 :(得分:0)

解决。如果未使用单元测试夹具,则可以扩展TestCase类而不是DbTestCase,否则夹具加载器将导致错误。