Ruby on rails 测试HTTP请求不是在Rails中发出的

Ruby on rails 测试HTTP请求不是在Rails中发出的,ruby-on-rails,rspec,fakeweb,Ruby On Rails,Rspec,Fakeweb,如果没有发出HTTP请求,最简单的测试方法是什么 比方说,如果用户没有提供用户名,我希望我的应用程序不要向远程服务器发送API调用 我应该在Rails应用程序中编写什么RSpec测试来测试HTTP请求是否从未发出? 假冒网站能帮我什么忙吗?我想我理解你的要求。您只需要进行错误检查,查看请求是否已发送或有效 如果用户名!=空白-->api调用,否则返回“您没有输入用户名” 或者,您可以使用api的返回数据来检查请求是否有效 我希望这有帮助 我想我理解你的要求。您只需要进行错误检查,查看请求是否已发

如果没有发出HTTP请求,最简单的测试方法是什么

比方说,如果用户没有提供用户名,我希望我的应用程序不要向远程服务器发送API调用

我应该在Rails应用程序中编写什么RSpec测试来测试HTTP请求是否从未发出?
假冒网站能帮我什么忙吗?

我想我理解你的要求。您只需要进行错误检查,查看请求是否已发送或有效

如果用户名!=空白-->api调用,否则返回“您没有输入用户名”

或者,您可以使用api的返回数据来检查请求是否有效


我希望这有帮助

我想我理解你的要求。您只需要进行错误检查,查看请求是否已发送或有效

如果用户名!=空白-->api调用,否则返回“您没有输入用户名”

或者,您可以使用api的返回数据来检查请求是否有效

我希望这有帮助

你可能应该试试。
它允许您检查请求某个url的次数

assert_requested :post, "http://www.example.com", :times => 0
您可能应该试试。
它允许您检查请求某个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)

如果它通过了,那就意味着没有发出请求。

假设我们有以下代码向GitHub的API发出条件请求

if condition
  user = Octokit.user 'dideler'
end
使用RSpec,您可以测试对象是否没有收到方法调用的消息

expect(Octokit).to_not receive(:user)

如果通过了,那就意味着没有提出请求。

对不起,我需要把我的问题说得更清楚。我应该在Rails应用程序中编写什么RSpec测试来测试HTTP请求是否从未发出?我也更新了我的问题。对不起,我需要让我的问题更清楚。我应该在Rails应用程序中编写什么RSpec测试来测试HTTP请求是否从未发出?我也更新了我的问题。