这不是我要问的问题,因为有些东西坏了。它更像是我想知道在这种情况下该怎么做。
如果我写了以下模型,
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)。但我真的很想理解为什么做某事而不是如何做。如果有人可以推荐任何好书或文章,那也会有所帮助。
如果我需要发布任何其他详细信息,请告诉我。