测试是否未发出 HTTP 请求的最简单方法是什么?
比如说,如果用户不提供用户名,我希望我的应用程序不要向远程服务器发送 API 调用。
我应该在我的 Rails 应用程序中编写什么 RSpec 测试来测试从未发出过 HTTP 请求?fakeweb 能以某种方式帮助我吗?
测试是否未发出 HTTP 请求的最简单方法是什么?
比如说,如果用户不提供用户名,我希望我的应用程序不要向远程服务器发送 API 调用。
我应该在我的 Rails 应用程序中编写什么 RSpec 测试来测试从未发出过 HTTP 请求?fakeweb 能以某种方式帮助我吗?
您可能应该尝试WebMock。
它允许您检查某些 url 被请求的次数。
assert_requested :post, "http://www.example.com", :times => 0
假设我们有以下代码向 GitHub 的 API 发出条件请求。
if condition
user = Octokit.user 'dideler'
end
使用 RSpec,您可以测试对象是否没有收到方法调用的消息。
expect(Octokit).to_not receive(:user)
如果通过,则表示未提出请求。
我想我明白你在问什么。您只想错误检查以查看请求是否已发送或有效。
如果用户名!= 空白 --> api 调用,否则返回“您没有输入用户名”。
或者您可以使用 api 的返回数据来检查请求是否有效。
我希望这有帮助。