【发布时间】:2014-04-25 21:06:56
【问题描述】:
我尝试为 CakePHP 项目创建单元测试。创建固定装置和一些测试后,我遇到了问题:
警告:列类型 enum('on','off') 不存在于 /app/cake/2.4.7/Cake/Model/Datasource/DboSource.php 在第 3081 行
...
应用程序错误:调用处理程序方法异常“PDOException”与 消息'SQLSTATE [42S22]:找不到列:1054 未知列 '字段列表'中的'状态' /app/cake/2.4.7/Cake/Model/Datasource/DboSource.php:2923
我知道 CakePHP 不支持枚举,但我无法更改数据类型。是否有任何解决方法可以让单元测试使用枚举运行?
【问题讨论】:
-
您不能使用文本字段创建您的灯具吗?
-
我还没试过。我有一个有 33 列的表,我使用
public $import = 'MyModel';。手动定义所有列将非常繁琐:(。 -
如果单元测试在枚举上失败,为什么应用程序没有?
-
我认为是因为应用程序将数据库与现有表一起使用,并且单元测试尝试读取现有模式、创建表、插入一些数据然后运行测试。因此,错误发生在检索现有模式和创建表的过程中。
-
我猜,单元测试在创建表时省略了枚举列。
标签: unit-testing cakephp testing enums cakephp-2.4