2011-11-24 108 views
2

我使用这个命令来运行轨道单元测试:轨单元测试错误:“测试是不是一个模块”

$ ruby -Itest test/unit/post_test.rb 

我得到一个错误“测试是不是一个模块(类型错误)”,并没有测试运行。

它是否与我有一个名为“Test”的模型类有关?如果没有办法做到这一点,那么重构和改变类名的最快方法是什么?

+1

难道它与我有一个名为“Test”的模型类有关吗? - 是的。我认为是这样的 – railscard

+0

我是ruby的新手,我使用记事本++。是否有技巧将此模型/控制器/视图更改为不同的名称,或者是否需要手动执行此操作? –

+1

不确定Notepad ++,请尝试使用RubyMine,TextMate或NetBeans快速更改文件名。如果你手动做 - 不要忘记改变所有的类名 – railscard

回答

5

我相信你是对的,这是因为你已经使用不应该使用的名称创建模型(在这种情况下测试)。

所有你应该需要做的是:

创建迁移到重命名数据库表:(rename_table :oldname, :newname)

  • 重命名模型。
  • 编辑其他模型中的任何关联。
  • 重命名控制器(如果需要)
  • 修改的routes.rb
  • 修改在视图中的任何链接。
  • 重命名视图。
  • 重命名控制器和视图中的模型。
  • 重命名和修改任何测试。