RSpec の代替として Minitest::Spec をテストしていますが、答えが見つからない厄介な問題があります。
でいくつかの基本的な仕様をセットアップしました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
ここで、spec ファイルを次のように記述したとします。
require 'minitest_helper'
describe User do
...
end
...そして実行するrake test
と、次のようになります。
user_spec.rb:1:in `require': cannot load such file -- minitest_helper (LoadError)
ただし、require行を次のように変更すると
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
派手なものはありません。助けてくれてありがとう!