【发布时间】:2013-08-31 04:47:34
【问题描述】:
我有一个名为“QueryService”的类。在这个类中,有一个名为“GetErrorCode”的函数。在这个类上还有一个名为“DoQuery”的函数。所以你可以放心地说我有这样的东西:
class QueryService {
function DoQuery($request) {
$svc = new IntegratedService();
$result = $svc->getResult($request);
if ($result->success == false)
$result->error = $this->GetErrorCode($result->errorCode);
}
function GetErrorCode($errorCode) {
// do stuff
}
}
我想创建一个 phpunit 测试来测试“DoQuery”。但是,我希望“GetErrorCode”的结果由模拟确定。换句话说,我想说如果 $errorCode = 1,GetErrorCode 必须绕过这个函数中的任何逻辑,只返回单词“ONE”。如果是 1 以外的任何数字,则必须返回“NO”。
如何使用 PHPUNIT Mocks 进行设置?
【问题讨论】: