私は現在、Redis DB、EventMachine、および Sinatra (軽量 API 用) で構成される Ruby プロジェクトに取り組んでいます。私たちはテストに RSpec を使用しており、この時点まではすべてうまくいっています。
ただし、MySQL データベースと (最低限) 対話を開始する必要があります。私たちは ActiveRecord の道を行くことに決めました (とても素晴らしいという理由だけで! )。今のところすべて順調に進んでいます。ただし、テストで小さな問題が発生しています。RSpecを使用mock_model
してオンラインでいくつかのリソースを見つけましたが、取得し続けます:mock
undefined method `mock_model'
undefined method `mock'
エラー。Railsフレームワーク全体をインストールせずにこれらを機能させるには、どのgemを使用する必要がありますか(やり過ぎのようです)。
また
AR モデルをモックするために、他にどのようなモック/スチューブ メソッド/gem を使用する必要がありますか? 次のような構文の柔軟性を本当に楽しんでいます。
@user = double(NS::UserAccount)
@car = double(NS::Car)
NS::UserAccount.stub(:find).with(@valid_user_id).return(@user)
NS::Car.stub(:find).with(@valid_car_id).return(@car)
アップデート
私の Gemfile は次のようになります。
group :test do
gem 'rspec', '~> 2.8.0'
gem 'rspec-expectations', '~> 2.8.0'
gem 'rspec-mocks', '~> 2.8.0'
gem 'autotest-standalone'
gem 'em-spec', '~> 0.2.6'
gem 'rack-test', '~> 0.6.1'
gem 'factory_girl', '~> 3.1.0'
end
また、spec_helper.rb
ファイルの上部には、次のものがあります。
require 'bundler/setup'
Bundler.require(:test, :development)