rspec集成/请求规范与控制器规范,重点是JSON api

tim*_*one 6 rspec

我已经采用了一个具有一些测试覆盖率的应用程序,但大多数测试都是混合质量的.该应用程序的大部分都是针对JSON API.我打算写请求规范但是进行身份验证然后发送带有身份验证数据的POST并不是一件容易的事.为了测试JSON api,控制器规格会更合适吗?

例如,

 match 'api/login-mobile' => 'api#login_mobile', :as => :login_mobile, :defaults => {:format => 'json' }
Run Code Online (Sandbox Code Playgroud)

这似乎是微不足道的,但需要与capybara的集成规范.此外,capybara不会本地发送会话数据并且需要

page.driver.post .....
Run Code Online (Sandbox Code Playgroud)

我获得了用于测试UI交互的集成测试,但它似乎是测试JSON api的一个非常糟糕的模型.我错过了什么吗?或者是否有进行集成/ requeset测试的教程?我现在正在寻找话语,几乎所有的测试都是控制器....如果整合/请求规格是蜜蜂的膝盖,为什么他们会做出这个决定?

thx提前

ada*_*rsh -1

我会进行集成式测试,有点像这篇 SO post

通过 JSON 与 API 端点交互的级别比控制器更高,因此我可能会使用RSpec 提供的feature和块描述符。scenario这里的例子)。

从功能上讲,它与控制器规范没有太大区别,但有助于推动您进行场景/功能类型的测试,而不是单元级测试。