首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开拓者和最小- NameError:未初始化常数Minitest

开拓者和最小- NameError:未初始化常数Minitest
EN

Stack Overflow用户
提问于 2016-01-25 21:18:32
回答 1查看 532关注 0票数 1

环境:

代码语言:javascript
复制
rails -v
Rails 4.2.5

ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux-gnu]

bundle list trailblazer
trailblazer-1.1.0

我正在研究“开拓者”一书中的例子,我遇到了一种我不明白的情况。按照书中给出的设置,当我使用bundle rake test/concerns/ar_invoice/crud_test.rb运行特定测试时,它将按预期运行。但是,如果我只运行bundle rake test,那么我会看到以下内容:

代码语言:javascript
复制
bundle rake test
rake aborted!
NameError: uninitialized constant MiniTest
./test/concepts/ar_invoice/crud_test.rb:1:in `<top (required)>'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:114:in `block (3 levels) in define'
./bundle  /lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:114:in `each'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:114:in `block (2 levels) in define'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:113:in `each'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:113:in `block in define'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/sub_test_task.rb:20:in `invoke_rake_task'
./bundle/lib/gems/railties-4.2.5/lib/rails/test_unit/testing.rake:8:in `block in   <top (required)>'
Tasks: TOP => test:run
(See full trace by running task with --trace)

文件crud_test.rb包含以下内容:

代码语言:javascript
复制
cat test/concepts/ar_invoice/crud_test.rb

class ARInvoiceCrudTest < MiniTest::Spec
  describe( "Create" ) do
    it( "persists valid" ) do
      ar_invoice = ARInvoice::Create.(
        :ar_invoice => { :invoice_number => 101,
                         :client_number => 1234
        }
      ).model

      ar_invoice.persisted?.must_equal( true )
      ar_invoice.invoice_number.must_equal( 102 )
      ar_invoice.client_number.must_equal( 5678 )
    end
  end
end

并且.test/test_helper.rb如下所示:

代码语言:javascript
复制
cat test/test_helper.rb

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)

require 'rails/test_help'
require 'minitest/spec'
require "minitest/autorun"

require "trailblazer/rails/test/integration"

env | grep RAILS_ENV不产生输出。

我在剧组里还缺什么?运行bundle rake test不应该简单地获取crud_test.rb文件并运行测试,与在命令行上显式命名该文件的时间相同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 15:16:46

这就是答案:

当然,在每个测试文件之上添加require 'test_helper'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35002553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档