Birim test cakephp modelleri

2 Cevap php

Yani birim test CakePHP modelleri ile sorun yaşıyorum. Benim doğrulama kuralları vb hataları yakalamak yazma testleri gibi basit şeyler

Öncelikle, ben NewsItem adında bir modeli var. Onun aşağıdaki şemayı kullanarak benim MySQL veritabanında tanımlanmış

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
);

Modeli takip ediyor

<?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'
    		)
    	)
    );

}
?>

Ve benim test durumda ben

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

Ancak benim test durumda başarısız değilim. Herhangi bir fikir, öneri, yorum?

2 Cevap

alphaNumeric geçerlilik kuralı sadece sağlar, iyi, alfanümerik karakterler, yani no spaces. Yani test doğru başarısız olur.

CakePHP ile derece aşina değilim, ama veritabanına kalıcı kazandıracak girişim değil mi? Bu durumda eğer bir birim sınama olmamalı ...