我已经采用了具有一些测试覆盖率的应用程序,但大多数测试都是混合质量的。该应用程序的大部分都是针对JSON API。我打算写请求规范但是进行身份验证然后发送带有身份验证数据的POST并不是一件容易的事。为了测试JSON api,控制器规格会更合适吗?
例如,
match 'api/login-mobile' => 'api#login_mobile', :as => :login_mobile, :defaults => {:format => 'json' }
这似乎是微不足道的,但需要与capybara的集成规范。此外,capybara不会本地发送会话数据,并且需要
page.driver.post .....
我获得了用于测试UI交互的集成测试,但它似乎是用于测试JSON API的非常糟糕的模型。我错过了什么吗?或者是否有进行集成/ requeset测试的教程?我现在正在寻找话语,几乎所有的测试都是控制器....如果整合/请求规格是蜜蜂的膝盖,为什么他们会做出这个决定?
事先提前答案 0 :(得分:-1)
我会进行集成式测试,有点像this SO post。
通过JSON与API端点进行交互比控制器更高级,因此我可能会使用RSpec提供的feature
和scenario
块描述符。 (例如here)。
从功能上讲,它与控制器规范没什么不同,但有助于推动您进行场景/功能类型的测试,而不是单元级测试。