例如,在数据库中有一个表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来填充使用迁移表创建的填充?只有在那之后才能对模型进行单元测试吗?..
答案 0 :(得分:0)
解决。如果未使用单元测试夹具,则可以扩展TestCase
类而不是DbTestCase
,否则夹具加载器将导致错误。