6

我采用了一个具有一定测试覆盖率的应用程序,但大多数测试质量参差不齐。该应用程序的大部分都针对 JSON api 工作。我打算编写请求规范,但验证然后发送带有验证数据的 POST 并非易事。对于测试 JSON api,控制器规格是否更合适?

例如,

 match 'api/login-mobile' => 'api#login_mobile', :as => :login_mobile, :defaults => {:format => 'json' }

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

page.driver.post .....

我得到了用于测试 UI 交互的集成测试,但它似乎是测试 JSON api 的一个非常糟糕的模型。我错过了什么吗?或者有没有做集成/请求测试的教程?我现在正在查看话语,几乎所有他们的测试都是控制器....如果集成/请求规范是蜜蜂的膝盖,他们为什么要做出这个决定?

提前谢谢

4

1 回答 1

-1

我会做集成式测试,有点像这个 SO post

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

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

于 2013-05-16T04:30:12.567 回答