我正在尝试对我的代码进行单元测试,并且我有一个使用 HttpSocket 类 /lib/Cake/Network/Http/HttpSocket.php
的数据源。
问题是我不希望它在测试时执行请求,但我找不到模拟该类的方法。
当然,我可以通过构造函数中的参数注入(inject)它,但我可能必须更改 Cake 的核心,所以这不是一个选项。
PS:我不是在测试使用此数据源的模型,而是在测试数据源本身。
有什么想法吗?
最佳答案
在数据源类中有一个方法可以获取 HttpSocket:
public function getHttpSocket() {
return new HttpSocket();
}
然后,您可以模拟数据源的该方法并返回完全模拟的 HttpSocket 对象,并根据需要设置您的期望和返回值。
关于php - 模拟 CakePHP 的 HttpSocket 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204374/