我正在使用Michael Hartl rails教程。在运行测试中,我得到以下错误:Rails“未知命令”参数错误
Error:
UserTest#test_associated_microposts_should_be_destroyed:
ArgumentError: unknown command 'a'
test/models/user_test.rb:73:in 'test'
test/models/user_test.rb:73: in 'block in <class:UserTest>'
“测试/模型/ user_test.rb”如下:
test "associated microposts should be destroyed" do
@user.save
@user.microposts.create!(content: "Lorem ipsum")
assert_difference 'Micropost.count', -1 do
@user.destroy
end
测试很简单,只针对测试下面的行在我的模型(user.rb)
has_many :microposts, dependent: :destroy
如果我评论了这句话如下:
has_many :microposts#, dependent: :destroy
我,一如预期,得到
Failure: [...] "Micropost.count" didn't change by -1. Expected:38 Actual 39.
如果我取消了“依赖:破坏”的声明,我得到这个“未知的命令”的错误。任何人都可以提供一些关于如何最有可能生成此错误的指导,关于rails(不包括rails控制台)的上下文中的“命令”是什么以及要在哪里首先尝试解决它(Models?Controllers?)。谢谢。
从来没有进入测试,但不应该在测试名称中有下划线?为了让它“associated_microposts_should_be_destroyed”'? –
模型,数据库和测试本身将是我会先看的地方,因为那就是你正在测试的东西。确保用户和微博之间有关联,并且你运行了rake db:migrate – forthowin
你可以发布整个测试文件吗? (尽可能多地删除它,同时仍然保留错误) –