何かが壊れているので、これは私が尋ねている質問ではありません。この状況で何をすべきかを知りたいのです。
次のモデルを書いた場合、
class Amenity extends AppModel {
var $name = 'Amenity';
/**
* Behaviors used by the Model
*
* @var array
* @access public
*/
var $hasAndBelongsToMany = array(
'RoomFlat' =>
array(
'className' => 'RoomFlat',
'joinTable' => 'amenities_room_flats',
'foreignKey' => 'amenity_id',
'associationForeignKey' => 'room_flat_id',
)
);
var $actsAs = array(
'Multivalidatable'
);
/**
* Custom validation rulesets
*/
var $validationSets = array(
'admin'=>array(
'name'=>array(
'notEmpty'=>array(
'rule'=>'notEmpty',
'message'=>'This is required'
),
'isUnique'=>array(
'rule'=>'isUnique',
'message'=>'This already exists.'
)
),
)
);
}
そして私はまた次のフィクスチャを書きました
class AmenityFixture extends CakeTestFixture {
public $fields = array(
'id' => array('type' => 'integer', 'key' => 'primary'),
'name' => array('type' => 'text', 'null' => 'false'),
'status' => array('type' => 'tinyint', 'null' => 'false'),
'created' => array('type' => 'datetime', 'null' => 'false'),
'modified' => array('type' => 'datetime', 'null' => 'false')
);
public function init(){
$this->records = array(
array('id' => 1, 'name' => 'amenity fixture 1', 'status'=>'1', 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')),
array('id' => 2, 'name' => 'amenity fixture 2', 'status'=>'0', 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')),
array('id' => 3, 'name' => 'amenity fixture 3', 'status'=>'1', 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')),
array('id' => 4, 'name' => 'amenity fixture 4', 'status'=>'0', 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')),
array('id' => 5, 'name' => 'amenity fixture 5', 'status'=>'1', 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')),
);
parent::init();
}
}
それをテストするための最良の方法は何でしょうか?モデルにテストする関数が実際にはありませんか?これは、実際には何も単体テストしない状況ですか?このためのテストスイートを作成するように言われた場合、どのように私にそれを行わせますか?
私もcakePHPを使用しており、テストに関するページ(http://book.cakephp.org/2.0/en/development/testing.html)を読みました。しかし、私は本当に、方法ではなく、なぜ何かが行われるのかを理解しようとしています。誰かが良い本や記事を提案できれば、それも役に立ちます。
他の詳細を投稿する必要がある場合は、お知らせください。