gpt4 book ai didi

ruby - Rails 之外的 Webrat Mechanize

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:48 25 4
gpt4 key购买 nike

我正在尝试在独立脚本中使用 Webrat 来自动执行某些 Web 浏览。如何让 assert_contain 方法起作用?

require 'rubygems'
require 'webrat'

include Webrat::Methods
include Webrat::Matchers

Webrat.configure do |config|
config.mode = :mechanize
end

visit 'http://gmail.com'
assert_contain 'Welcome to Gmail'

我收到这个错误

/usr/lib/ruby/gems/1.8/gems/webrat-0.6.0/lib/webrat/core/matchers/have_content.rb:57:in 'assert_contain': undefined method assert' for #<Object:0xb7e01958> (NoMethodError)

最佳答案

assert_contain 和其他断言是测试/单元的方法,尝试要求它并从测试方法内部使用 webat:

require 'test/unit'

class TC_MyTest < Test::Unit::TestCase
def test_fail
assert(false, 'Assertion was false.')
end
end

无论如何我还没有测试过它但是我有一个 rspec 的工作 spec_helper 如果你感兴趣的话:

require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
require 'spec/rails'

require "webrat"

Webrat.configure do |config|
config.mode = :rails
end

module Spec::Rails::Example
class IntegrationExampleGroup < ActionController::IntegrationTest

def initialize(defined_description, options={}, &implementation)
defined_description.instance_eval do
def to_s
self
end
end

super(defined_description)
end

Spec::Example::ExampleGroupFactory.register(:integration, self)
end
end

加上规范:

# remember to require the spec helper

describe "Your Context" do

it "should GET /url" do
visit "/url"
body.should =~ /some text/
end

end

试一试 我发现它非常有用(比 cucumber 和周围的其他蔬菜还多)当不需要文本规范(功能)而不是我最喜欢的代码规范时。

ps 你需要 rspec gem并安装“spec”命令来执行您的规范。

关于ruby - Rails 之外的 Webrat Mechanize ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com