【发布时间】:2014-08-02 06:03:12
【问题描述】:
我是 PHPUnit 测试的新手,非常感谢您的帮助,看看我是否采用了正确的方法。
我正在尝试测试我的方法;我有两个问题
1) 如何让我的测试数据库包含虚拟数据?现在我在 pdo_connect 类中拥有所有数据库设置,并且在该类的构造函数中,我正在执行所有数据库初始化,包括 dbname、host、...;我已经包含了我想在这里测试的方法以及我的测试用例;我的问题是根据不同的环境更改我的数据库进行测试是否是一种好习惯;例如,如果我的设置中的“环境”变量是“测试”,我使用具有虚拟数据的“测试”数据库,并且...
2) 如果您确认下面提到的示例测试用例是对我的方法进行功能测试的正确方法,我也非常感谢!
static public function get_images($id) {
try {
$conn = new pdo_connect();
$query = " SELECT ....";
$result = $conn->prepare($query);
$result->bindParam(':id', $id);
$result->execute();
$array_result = $result->fetchAll(PDO::FETCH_OBJ);
$result_Set = array($paginate_result, TRUE);
}
catch (Exception $e) {
$result_Set = array($e->getMessage(), FALSE);
}
return $result_Set;
}
和我的测试:
class SomeTest extends PHPUnit_Framework_TestCase {
public function __construct() {
require_once('../includes/model.php');
}
public function test_id_not_exist() {
$con = $this->getMock('conn');
$dao = new Model($con);
$result = MODEL::get_images(555);
$expected = array(array(), True);
self::assertEquals($expected, $result);
}
}
如果您需要更多说明,请告诉我...再次感谢您...
【问题讨论】:
标签: php unit-testing testing phpunit