chi*_*org 4 php cookies unit-testing http setcookie
依赖于会话/ cookie信息的单元测试功能的默认做法是使用抽象库.但是如果我想编写和单元测试这个抽象库呢?PHP setcookie函数的文档说明cookie将在下一个请求时可用.使用命令行工具进行测试,没有"请求"这样的东西.那么如何才能对正确的cookie设置进行单元测试呢?
我想测试setcookie我的抽象库是否正确设置了函数的所有参数.这些参数将根据某些条件和方法调用进行设置.
我能想到的唯一解决方案是setcookie使用runkit扩展模拟函数,我不想安装它.其他想法?
chi*_*org 11
我发现了另一个非常简单的解决方案:围绕PHP setcookie函数的类包装器非常简单,不需要进行单元测试:
/**
* Wrapper around setcookie function for better testability
*/
class Cookiesetter {
public function setcookie($name, $value = "", $expire = 0, $path = "",
$domain = "", $secure = false, $httponly = false) {
return setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
}
}
Run Code Online (Sandbox Code Playgroud)
setcookie然后可以模拟该方法.这有额外的好处,我可以实现其他方法,如expireCookie.
| 归档时间: |
|
| 查看次数: |
8799 次 |
| 最近记录: |