【发布时间】:2012-10-24 13:27:35
【问题描述】:
我想使用模拟对我的一些具有外部依赖项的函数进行单元测试。
所以这里...下面是我正在使用的简化模型。我继承的很多代码都是这样写的,所以我希望能够写一些简单的测试,如果可能的话不必重写:
function display_tasks($id)
{
$tasks = call_some_function_that_runs_a_database_query($id);
$html = "<some html>";
foreach ($tasks as $task)
{
// Some operations here
}
$html .= "</some html>";
return $html;
}
我的函数调用的代码没有封装在对象中,因此我无法将各种示例付诸实践,因为互联网上 99% 的示例都是基于面向对象的代码。甚至可以直接从 PHPunit 模拟过程函数吗?
我希望能够模拟 call_some_function_that_runs_a_database_query 返回的任何内容。我尝试过使用内置的 PHPunit 模拟方法,但这样做不会覆盖我函数中原始调用的结果。
任何帮助或示例将不胜感激。
【问题讨论】:
标签: php unit-testing mocking phpunit