gpt4 book ai didi

ruby-on-rails-3.1 - NoMethodError validate_presence_of 使用 shoulda

转载 作者:行者123 更新时间:2023-12-05 00:02:59 28 4
gpt4 key购买 nike

好吧,我很困惑。我正在尝试在 Rails 3.1 下将 shoulda 与 Test::Unit 一起使用,之前已经在 Rails 2.3.11 中成功地做到了这一点。

我的 Gemfile 中有以下内容:

group :test do
gem 'shoulda'
end

(我已经运行 bundle install - bundle show shoulda 显示 c:/Ruby192/lib/ruby/gems/1.9.1/gems/shoulda-2.11.3 )

我有以下 test_helper.rb
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'shoulda'

class ActiveSupport::TestCase
end

和以下 user_test.rb
require 'test_helper'

class UserTest < ActiveSupport::TestCase
should validate_presence_of :email
should validate_format_of(:email).with("user+throwaway@subdom.example.com").with_message(/valid email address/)
should validate_presence_of(:encrypted_password)
should validate_confirmation_of :password
end

但是当我这样做时 ruby -Itest test\unit\user_test.rb ,我收到以下错误:
 test/unit/user_test.rb:4:in `<class:UserTest>': undefined method `validate_presence_of' for UserTest:Class (NoMethodError)

我没有正确设置什么?

最佳答案

解决了。你需要:

require 'shoulda/rails'

test_helper.rb (不是`要求'应该');并且测试用例需要是:
class Usertest < ActiveRecord::TestCase

(不是 < ActiveSupport::TestCase )。

我分别尝试过这两种方法,但没有一起尝试过...

关于ruby-on-rails-3.1 - NoMethodError validate_presence_of 使用 shoulda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413625/

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