以下是app/models/websites.rb
class Masterpiece < ActiveRecord::Base
validates_presence_of :title, :link
validates_uri_existence_of :link, :allow_redirect => false
end
第二个验证来自插件Validates Existence of URI plugin
以下是 features/support/mocha.rb 文件
require 'mocha'
World(Mocha::API)
Before do
mocha_setup
@http_mock = mock('Net::HTTPResponse')
@http_mock.stubs(:code => '200', :message => "OK", :content_type => "text/html", :body => '<title>Test</title><body>Body of the page</body>')
Net::HTTP.expects(:get_response).returns(@http_mock)
#Website.expects(:validates_uri_existence_of).returns(true)
end
After do
begin
mocha_verify
ensure
mocha_teardown
end
end
但是当我尝试运行黄瓜功能时,它会尝试创建记录,并且在保存上述插件之前会尝试检查网络以获取响应。没关系。
但是当我想在测试环境中模拟它时,我正在尝试使用 mocha。
我应该如何编写代码来模拟网络响应或类方法validates_uri_existence_of以顺利运行测试?