我正在使用PHPunit框架,我有这样的代码:
public function A() { try { (...some code...) die (json_encode ($data)); } catch (Exception $e) { die(false); } }
这个函数是通过AJAX调用的,我不能用return替换die.问题是:
我如何使用这样的代码进行单元测试?
断言,我不能用它.
谢谢.
你无法测试……
有时单元测试会带来这样的问题(不可测试的情况).这通常意味着问题不在于测试,而在于您的代码及其架构.
在这里你不应该使用die函数(实际上你不应该使用die来返回HTTP响应),但是回显json然后让脚本正确完成(或者返回json并在其他地方回显它).
为了测试这个,你可以捕获输出并检查它(这是一个基本的例子,我猜想有更好的).
结论:问题在于您的代码,修复此问题然后您可以尝试对其进行测试.如果你不能,那就没有测试.