如何在单元测试之外使用 mocha?

发布于 12-22 23:11 字数 412 浏览 5 评论 0原文

我试图在单元测试之外使用 mocha 来模拟 Net::HTTPResponse 对象。这是一个简单的例子:

#!/usr/bin/env ruby -w

require 'net/http'

require 'rubygems'
require 'mocha'

response = mock('Net::HTTPResponse')
response.stubs(:code => '500', :message => "Failed", :content_type => "text/plaint", :body => '')

我收到此错误:

undefined method `mock' for main:Object (NoMethodError)

I'm trying to use mocha outside of unit tests to mock an Net::HTTPResponse object. here is a simple example:

#!/usr/bin/env ruby -w

require 'net/http'

require 'rubygems'
require 'mocha'

response = mock('Net::HTTPResponse')
response.stubs(:code => '500', :message => "Failed", :content_type => "text/plaint", :body => '')

I get this error:

undefined method `mock' for main:Object (NoMethodError)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等数载,海棠开2024-12-29 23:11:48

我建议为此使用 fakeweb gem。它旨在阻止 http 请求。

require 'rubygems'
require 'fakeweb'

FakeWeb.register_uri(:get, "http://something.com/", :body => "", :status => ["500", "Server Error"])

更多信息:https://github.com/chrisk/fakeweb

I'd recommend using the fakeweb gem for this. It's designed to stub out http requests.

require 'rubygems'
require 'fakeweb'

FakeWeb.register_uri(:get, "http://something.com/", :body => "", :status => ["500", "Server Error"])

More info: https://github.com/chrisk/fakeweb

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文