php - 单元测试 cakephp 模型

标签 php unit-testing testing cakephp

所以我在对 CakePHP 模型进行单元测试时遇到了问题。一些简单的事情,比如编写我的验证规则正在捕获错误的测试等。

首先,我有一个名为 NewsItem 的模型。它使用以下模式在我的 MySQL 数据库中定义

CREATE TABLE news_items (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(140) NOT NULL,
    body TEXT NOT NULL,
    modified DATETIME DEFAULT NULL,
    created DATETIME DEFAULT NULL
);

模型如下

<?php
class NewsItem extends AppModel {

    var $name = 'NewsItem';
    var $validate = array(
        'title' => array(
            'titleRule-1' => array(
                'rule' => array('maxLength', 140),
                'message' => 'News item\'s title\'s length exceeds limit of 140 characters'
            ),
            'titleRule-2' => array(
                'rule' => 'alphaNumeric',
                'required' => true,
                'message' => 'Cannot save news item without a title'
            )
        )
    );

}
?>

在我的测试用例中有

// Validation lets All data good through
function testValidationAllowsNormalData()
{
    $this->assertTrue($this->NewsItem->save(array('NewsItem' => array('title' => 'A news item', 'body' => 'Some news'))));
}

但是我的测试用例失败了。有什么想法、建议、意见吗?

最佳答案

alphaNumeric 验证规则只允许字母数字字符,即无空格。所以你的测试正确地失败了。

关于php - 单元测试 cakephp 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1905656/

相关文章:

testing - 使用 Altera Quartus 进行自动化测试

php - friend 关系用mysql?

php - 仅当重新初始化继承类中的实例变量时,PHP 中使用单例模式的类继承才有效。但为什么?

c# - 虚拟方法的性能影响

javascript - Jest 模拟调用对象可能未定义

unit-testing - rxjava testScheduler竞争条件

php - Symfony2 : Undefined method: getDoctrine()

javascript - JQuery无法调用隐藏目录中的PHP文件

ios - XCTest 在 TestSummaries 中没有 ActivitySummaries

testing - 运行嵌入式 Chromium View 的不同 native 应用程序是否共享 Chromium 资源?