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