测试不起作用(Rails 5.1.4和回形针)

时间:2018-03-10 10:51:24

标签: ruby-on-rails ruby

使用“rake test”运行任何测试时都遇到了问题。

这是我得到的错误

# Running:

E

Error:
PostsControllerTest#test_the_truth:
ActiveRecord::NotNullViolation: SQLite3::ConstraintException: NOT NULL constraint failed: posts.image_file_name: INSERT INTO "posts" ("created_at", "updated_at", "id") VALUES ('2018-03-10 10:40:55.109886', '2018-03-10 10:40:55.109886', 980190962)

老实说,我不知道为什么会有插入,因为请求甚至没有到达那里。

这是我的测试,但正如我所说,没有一项测试正在进行,所以我放在那里并不重要。

require 'test_helper'

class PostsControllerTest < ActionDispatch::IntegrationTest
  test "the truth" do
    assert true
  end

end

我的路线只是为了确保我没有遗漏任何东西。

  match "/posts(/:action(/:id))", to: "posts#posts", via: [:GET,:POST]

我的迁移

class CreatePosts < ActiveRecord::Migration[5.1]
  def change
    create_table :posts do |t|
      t.belongs_to :user
      t.attachment :image #I used to have null: false here but I removed it and deleted dbs
      t.text :description
      t.string :title, null: false
      t.timestamps
    end
  end
end

1 个答案:

答案 0 :(得分:0)

查看你的posts.yml fixtures文件。根据您的迁移,帖子必须具有image_file_name列的值,如果您通过迁移修改了该模型,则该值可能不存在。