gpt4 book ai didi

php - 如何(真正)对适配器进行单元测试

转载 作者:行者123 更新时间:2023-12-03 12:00:37 28 4
gpt4 key购买 nike

我的问题确实很简单,是否应该对适配器(设计模式)类进行单元测试,以及如何进行测试?

例子:

我想用PHP创建一个ClientSocket类,它是fsockopen,fread,fwrite的适配器。

Class ClientSocket extends SenderAdapterAbstract
{
private $s = null;

public function __construct($host, $port)
{
$this->s = fsockopen($host, $port);
}

// Abstract method concrete implementation
public function send($message)
{
fwrite($this->s, $message);

$result = fgets($this->s);
fclose($this->s);
}
}

我应该测试这个类吗?如果与网络对话,则单元测试不是真正的单元测试。

最佳答案

Should I test this class? a unit test is not really one if it talks to the network...



确切地。这就是为什么您不能对适配器进行单元测试的原因,但是可以根据需要为其创建集成测试。这些集成测试应该仍然是3d方库行为正确的基本检查。如果它们太慢,则可能需要将它们从主测试套件移至运行频率较低的单独套件。

参见 http://blog.8thlight.com/eric-smith/2011/10/27/thats-not-yours.html
http://davesquared.net/2011/04/dont-mock-types-you-dont-own.html

关于php - 如何(真正)对适配器进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21021916/

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