Rails测试(minitest)导致PostgreSQL语法错误

时间:2018-03-29 14:01:02

标签: ruby-on-rails minitest

因此,每当我运行测试时,Rails似乎都试图在我的PostgreSQL数据库中插入任何内容......导致语法错误。有什么可能导致这种情况?对于某些情况,无论多么简单或复杂,每次测试都会发生这种情况。例如:

class PlayerTest < ActiveSupport::TestCase
  test "should not save empty player" do
    assert true
  end
end

然后我看到以下错误消息:

Error:
PlayerTest#test_should_not_save_empty_player:
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR:  syntax error at or near ")"
LINE 1: INSERT INTO "players_venues" () VALUES ()

此外,players_venuesplayersvenues之间的多对多联接表。在测试之外不会发生此问题。任何帮助将不胜感激。如果需要更多代码,请不要犹豫。

1 个答案:

答案 0 :(得分:0)

所以我最终想出来了。事实证明,Rails会生成如下所示的空白灯具:

one: {}
# column: value
#  
two: {}
# column: value

当您运行测试时,它会尝试不插入任何内容!感谢大家给jdno给我一个提示来看看灯具。血腥的冠军。