Rspec: everyday-rspec实操。第7章使用请求测试-测试API
2021-04-09 19:25
对 RSpec 来说,这种专门针 对 API 的测试最好放在 spec/requests 目录中,与前面编写的功能测试分开。
这种测试也不使用 Capy- bara,因为它模拟的是浏览器交互,而不是程序交互。
我们要使用的是前面测试控制器响应的 HTTP 动 词:get、post、delete 和 patch。
end-point:端点。
7.2测试GET请求
请求测试与控制器测试不通的地方在于,它不限定于特定的控 制器,可以使用应用的任何路由
bin/rails g rspec:request projects_api
create spec/requests/projects_apis_spec.rb
#调试:看看response.body是什么。一个array,包含了登陆用户的projects的信息.
[{"id":2,"name":"Second Sample Project","description":"A test project.","due_on":"2018-05-26","created_at":"2018-05-19T07:30:14.169Z","updated_at":"2018-05-19T07:30:14.169Z","user_id":1}]
#调试:转化为json ,: 变为 =>
[{"id"=>2, "name"=>"Second Sample Project", "description"=>"A test project.", "due_on"=>"2018-05-26", "created_at"=>"2018-05-19T07:30:14.169Z", "updated_at"=>"2018-05-19T07:30:14.169Z", "user_id"=>1}]
#最后,解析第二次请求返回的JSON数据。看看是否match.
7.3 测试POST请求
文章标题:Rspec: everyday-rspec实操。第7章使用请求测试-测试API
文章链接:http://soscw.com/index.php/essay/73448.html