0

Rails で Mongoid を使用していますが、生成されたすべての機能テストが次のようなエラーで失敗します。

test_should_get_new(PostsControllerTest):
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: comments: DELETE FROM "comments"

生成されるテストは次のとおりです。

require 'test_helper'

class PostsControllerTest < ActionController::TestCase
  setup do
    @post = posts(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:posts)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  [...]
end

テストを変更する必要がありますか?または、ActiveRecord または Sqlite への参照を削除しますか? (削除に問題があり、何にも使用していないため、アプリから完全に削除する方法がわからないため、まだgemfileにsqliteがあります)

4

2 に答える 2

1

config/application.rb、削除require "rails/all"および追加

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
require "sprockets/railtie"

config/development.rbコメント/以下を削除してください:

config.active_record.mass_assignment_sanitizer = :strict
config.active_record.auto_explain_threshold_in_seconds = 0.5

config/test.rbコメント/以下を削除してください:

config.active_record.mass_assignment_sanitizer = :strict

うまくいかない場合は、見せていただけますspec_helper.rbか?

于 2013-06-30T18:12:30.900 に答える