【发布时间】:2014-04-14 11:46:28
【问题描述】:
我正在使用 CakePHP 和 DBUnit 进行数据库测试。我想要实现的是测试我在网站上提交的表单是否将数据正确插入数据库。我现在有很多 UI 测试,我测试页面本身,但我只有这么少量的 DB 测试:
<?php
class testSchema extends PHPUnit_Extensions_Database_TestCase {
/*
** @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
*/
public function getConnection() {
$pdo = new PDO('mysql:dbname=job_manager;host=localhost','root','toor');
$pdo->exec("set foreign_key_checks=0");
return $this->createDefaultDBConnection($pdo, 'job_manager');
}
/*
** @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
public function getDataSet() {
$cascadeTruncates = true;
return $this->createMySQLXMLDataSet(dirname(__FILE__).'/default.xml');
}
public function testRowCounts() {
$this->assertEquals(3, $this->getConnection()->getRowCount('jobs'));
$this->assertEquals(1, $this->getConnection()->getRowCount('machines'));
$this->assertEquals(4, $this->getConnection()->getRowCount('users'));
}
}
?>
我尝试过这样做:
$this->setBrowser('*firefox');
$this->setBrowserUrl('url');
$this->open('link');
就像我在 UI 测试中所做的那样,但它不起作用(因为这个类是从 PHPUnit_Extensions_Database_TestCase 继承的,而不是从 PHPUnit_Extensions_SeleniumTestCase 继承的)
有什么想法吗? 谢谢
【问题讨论】:
标签: php mysql cakephp testing dbunit