我正在测试 Minitest::Spec 作为 RSpec 的替代品,但我遇到了一个讨厌的问题,我无法完全找到答案:
我已经在spec/models/*_spec.rb
. 我的 rails 应用程序包括minitest-rails
,并且我将 rakefile 设置如下:
Rake::TestTask.new do |t|
t.libs.push "lib"
t.test_files = FileList['spec/**/*_spec.rb']
t.verbose = true
end
task :default => :test
现在,如果我这样编写规范文件:
require 'minitest_helper'
describe User do
...
end
...然后运行rake test
,我得到:
user_spec.rb:1:in `require': cannot load such file -- minitest_helper (LoadError)
但是,如果我将要求行更改为
require_relative '../minitest_helper'
然后它工作。所以,这是功能性的,但似乎我在网上找到的每个使用 minitest 规范的人的例子都只是调用require 'minitest_helper'
,而不是require_relative
. 那么,我错过了什么让它对其他人有用但不适用于我的情况?
最后一条信息,我的帮助文件如下所示:
# spec/minitest_helper.rb
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require "minitest/autorun"
require "minitest/rails"
# Uncomment if you want Capybara in accceptance/integration tests
# require "minitest/rails/capybara"
# Uncomment if you want awesome colorful output
# require "minitest/pride"
class MiniTest::Rails::ActiveSupport::TestCase
# Add more helper methods to be used by all tests here...
end
没有什么花哨。谢谢您的帮助!