gpt4 book ai didi

php - 如何使用 phpunit 测试此类,它使用与数据库的连接

转载 作者:行者123 更新时间:2023-12-02 05:26:30 25 4
gpt4 key购买 nike

我在另一份文档中读到,必须通过集成测试来测试具有连接到数据库的方法的类。我试图找到一个例子,但我没有找到任何东西,只有理论。我的测试经验很少。你可以给我一个例子吗?一个链接?,一些东西(而不仅仅是理论,因为我读了很多),像这样的东西?我认为这不是一个奇怪的案例。如果可能的话,使用 php 和 sql 或类似的。

如果你不知道集成测试,你如何测试这类问题?

class database{

public $server;
public $database;
public $password;
public $user;
public $descriptor;


function __construct(){
$this->server="localhost";
$this->database="mydb";
$this->user="stackoverflow";
$this->password="1234";

$this->descriptor=mysql_connect($this->server,$this->user,$this->password);
mysql_select_db($this->database,$this->descriptor);
}


function make_request($query){
$response=mysql_query($query,$this->descriptor);
return $response;
}


function close_connection(){
mysql_close($this->descriptor);
}

function number_rows($result_query){
return mysql_num_rows($result_query);
}

}

最佳答案

查看PHPUnit用于单元测试。然后您可以使用 mock objects模拟依赖关系(数据库调用)以返回虚拟数据。因为您正在尝试测试某些逻辑单元而不是您的数据库层,所以它应该是可以接受的,并且让您有足够的信心相信您的代码正在运行。

另一种选择是使用集成测试,但这需要您在测试的设置和拆卸上投入大量精力。您需要确保数据库中存在测试所需的任何数据。对这些类型的测试使用事务是很常见的,然后您可以在运行完这些测试后回滚。

关于php - 如何使用 phpunit 测试此类,它使用与数据库的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13001605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com