のテスト中のActiveRecordから保存されたデータを取り出します。インデックスだけのメソッドは、記事をactiverecordに保存しますが、テストコードから記事を取得できません。できない私は、コントローラをテストしてい
私には何が欠けていますか?私が手
コントローラ
class ArticlesController < ApplicationController
def create
if Article.new(:title => "abc").save
render status: 200, json: ""
else
render status: 500, json: ""
end
end
end
テスト
require 'test_helper'
class ArticlesControllerTest < ActionController::TestCase
test "should get create" do
get :create
assert_response :success
assert_nil Article.where(title: "abc"), "Article nil"
end
end
結果
F
Finished in 0.100930s, 9.9079 runs/s, 19.8157 assertions/s.
1) Failure:
ArticlesControllerTest#test_should_get_index [test/controllers/articles_controller_test.rb:7]:
Article nil.
Expected #<ActiveRecord::Relation [#<Article id: 980190963, title: "abc", created_at: "2016-06-24 13:23:36", updated_at: "2016-06-24 13:23:36">]> to be nil.
1 runs, 2 assertions, 1 failures, 0 errors, 0 skips
を与えるだろう。 – Bigair
"index"を "作成"に編集しました – Bigair
開発データベースを使用して環境を直接テストすることはできません。テストケースの実行時にデータベースにデータを挿入するよりも、最初にテスト環境用のデータベースを作成する必要があります。 –