ruby-on-rails - 无法运行 Minitest - 在 MiniTest::Unit::TestCase 中获取未定义的类变量

标签 ruby-on-rails ruby-on-rails-4 tdd

我正在尝试启动并运行我的模型测试,但我的终端出现错误

rake aborted!
uninitialized class variable @@current in MiniTest::Unit::TestCase

这是我的 gem :

gem 'faker'

group :development, :test do
gem 'byebug'
gem 'minitest-spec-rails'
gem 'minitest-rails'
gem 'minitest-rails-capybara'
gem 'minitest-colorize'
gem 'minitest-focus'
gem 'fabrication'
gem 'capybara'
gem 'rspec-rails', '~> 2.0'
end

这里是我的 user_test.rb 文件:

require "test_helper"

class UserTest < ActiveSupport::TestCase

it "should create a user" do
@user = User.create!(:email => "user@gmail.com", :password => "xxxxxxxx",        :password_confirmation => "xxxxxxxx")
end

describe "should have a unique username" do
@user1 = Fabricate(:user, username: "bficho")
@user2 = Fabricate.build(:user, username: "bficho")
@user2.valid?.must_equal false
end

end

这让我抓狂,因为在我的测试工作之前我不能做太多事情!还有其他人看到这个吗??

最佳答案

像这样更改您的测试:(根据 this )

require "test_helper"
require 'minitest/autorun'

describe MiniTest::Spec
 it "should create a user" do
  @user = User.create!(:email => "user@gmail.com", :password => "xxxxxxxx",        :password_confirmation => "xxxxxxxx")
 end

 it "should have a unique username" do
  @user1 = Fabricate(:user, username: "bficho")
  @user2 = Fabricate.build(:user, username: "bficho")
  @user2.valid?.must_equal false
 end
end

我认为在您的情况下,将第二个测试用例从 describe 更改为 it 可能有效

describe "should have a unique username" do

应该改为

it "should have a unique username" do

关于ruby-on-rails - 无法运行 Minitest - 在 MiniTest::Unit::TestCase 中获取未定义的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362189/

相关文章:

ruby-on-rails - 有没有办法在 Rails 中以编程方式查看(或打印)方法定义?

ruby-on-rails - Time.zone.now.to_date 是否等同于 Date.today?

ruby-on-rails - 确保 gem 与 Rails 3.x 和 4.0 一起工作的 gem 测试策略?

java - 我可以模拟父类(super class)方法调用吗?

javascript - Ruby on Rails Assets 管道无法正常工作

ruby-on-rails - capybara 和 Rspec。 capybara 不在测试中呈现页面,在 Rails 中使用访问或获取方法

ruby-on-rails - 如何让 Rails 响应基于 header 的 json

ruby-on-rails - Rails 查询有问题,列名不明确

c# - 在这种简单的情况下,如何使我的单元测试彼此独立?

TDD 与防御性编程