Unit testing CakePHP应用程序中的单元测试脚本
我已经使用CakePHP开发了一个deal应用程序。现在我想使用PHPUnit编写单元脚本。我已经在我的服务器上安装了PHPUnit,测试核心测试工作正常。安装的Xdebug也用于代码分析。当我为现有的应用程序编写脚本时,它就不起作用了。我能够为模型中的登录方法编写单元脚本。但无法为其余方法编写脚本Unit testing CakePHP应用程序中的单元测试脚本,unit-testing,cakephp,phpunit,Unit Testing,Cakephp,Phpunit,我已经使用CakePHP开发了一个deal应用程序。现在我想使用PHPUnit编写单元脚本。我已经在我的服务器上安装了PHPUnit,测试核心测试工作正常。安装的Xdebug也用于代码分析。当我为现有的应用程序编写脚本时,它就不起作用了。我能够为模型中的登录方法编写单元脚本。但无法为其余方法编写脚本 <?php App::uses('User', 'Model'); class UserTest extends CakeTestCase { public $fixtures =
<?php
App::uses('User', 'Model');
class UserTest extends CakeTestCase {
public $fixtures = array('app.user');
public $dropTables = false;
public function setUp() {
parent::setUp();
$this->User = ClassRegistry::init('User');
}
public function testLogin() {
$result = $this->User->find('count', array(
'conditions' => array(
// making some assumptions about the test data here
'email' => 'test.user@gmail.com',
'password' => 'f1054da373ace628dc73b8ec52eb28072b074940',
),));
$expected = 1;
$this->assertEquals($expected, $result);
}
}
?>
它运行良好。但我无法为其余方法编写脚本。尝试使用烘焙和烘焙测试,以开始正确的测试结构:
<?php
App::uses('User', 'Model');
class UserTest extends CakeTestCase {
public $fixtures = array('app.user');
public $dropTables = false;
public function setUp() {
parent::setUp();
$this->User = ClassRegistry::init('User');
}
public function testLogin() {
$result = $this->User->find('count', array(
'conditions' => array(
// making some assumptions about the test data here
'email' => 'test.user@gmail.com',
'password' => 'f1054da373ace628dc73b8ec52eb28072b074940',
),));
$expected = 1;
$this->assertEquals($expected, $result);
}
}
?>
cake bake test
这可能有助于按照Cake对测试结构的期望,将您推向编写方向。它还将创建空方法来测试控制器中的所有方法
你能更具体地说明什么不起作用吗?为什么要使用
$dropTables=false代码>?您的第一个测试,testLogin()
实际上并不测试您的任何代码。发布一个实际的测试方法并告诉我们什么方法不能测试(或者为什么不能测试)是很有用的。