dec*_*eze 46 api unit-testing cakephp
我正处于需要为使用CakePHP 1.3编写的REST API编写单元测试的地步.API支持用于查询和操作数据的GET,POST和PUT请求.
有没有确定的方法来测试模拟HTTP请求的API的正确输入/输出,使用fixture?我不想对live(dev)数据库运行实际的POST/PUT请求.我怎样才能最好地模拟系统以使用临时模型,然后按原样测试堆栈的其余部分?
使用控制器测试可以轻松测试GET请求.但是,对于数据操作,API非常广泛地使用HTTP头,并且还解析原始XML和JSON POST/PUT数据.控制器单元测试方法仅通过$this->data
在控制器中设置来模拟POST数据,这不允许我正确地测试API.
您应该创建Mocks或使用隔离框架来模拟API环境。单元测试不应依赖于Internet连接,网络,端点等资源。
如果打算测试真实的API调用,则应创建集成测试项目并将其用于此目的。但是请注意,集成测试通常是不可重复的,并且每次运行都会给您不同的结果。
归档时间: |
|
查看次数: |
17217 次 |
最近记录: |