Ruby on rails 仅从现有模型/控制器生成测试

Ruby on rails 仅从现有模型/控制器生成测试,ruby-on-rails,testing,ruby-on-rails-3,rake,Ruby On Rails,Testing,Ruby On Rails 3,Rake,我有一个基于他人作品的Rails3应用程序。出于某种原因,他们决定不提供该应用程序的测试,这让我感到沮丧 我希望能够为所有现有的控制器和模型搭建测试框架,这样我就可以在test::unit中自己创建测试了。我不想重新创建模型或控制器,只是创建测试 我是Rails新手,一直在寻找可能实现这一点的rake命令,但到目前为止都没有运气。非常感谢任何建议/指导。我知道没有办法做到这一点。不过,只需创建一个临时rails项目并为所有模型生成框架,然后将生成的测试目录复制到实际项目中,这将非常容易 即 等等

我有一个基于他人作品的Rails3应用程序。出于某种原因,他们决定不提供该应用程序的测试,这让我感到沮丧

我希望能够为所有现有的控制器和模型搭建测试框架,这样我就可以在test::unit中自己创建测试了。我不想重新创建模型或控制器,只是创建测试


我是Rails新手,一直在寻找可能实现这一点的rake命令,但到目前为止都没有运气。非常感谢任何建议/指导。

我知道没有办法做到这一点。不过,只需创建一个临时rails项目并为所有模型生成框架,然后将生成的测试目录复制到实际项目中,这将非常容易

等等


这个答案现在已经过时了。最新的rails版本允许您使用skip选项仅生成缺少的文件。

我知道它有点旧,但您可以这样做:

rails g scaffold Post -s

-s
使其跳过已创建的文件。此外,如果您不使用该标志,它只会询问您是否要覆盖该文件,因此,无需担心。

要仅为现有Rails 3应用程序生成关联的测试文件,我使用“生成资源”,但跳过我不需要的所有内容:

rails g resource Post --skip --no-resource-route --no-migration --no-helper --no-assets
使用
rails生成资源--help可以找到其他选项

-s, [--skip]     # Skip files that already exist
--resource-route            # Indicates when to generate resource route
[--helper]                # Indicates when to generate helper
[--assets]                # Indicates when to generate assets
[--migration]            # Indicates when to generate migration

为什么不使用
生成脚手架
?因为它可能会生成我不使用的视图。

您可能还想使用--skip-migrations。谢谢,这几乎是完美的,但是
test\u helper.rb
丢失了。您将要运行
rspec--init
来生成该视图。同意,在相同的情况下,尝试了我能够在谷歌上找到的所有建议,只有这一个真正有用
-s, [--skip]     # Skip files that already exist
--resource-route            # Indicates when to generate resource route
[--helper]                # Indicates when to generate helper
[--assets]                # Indicates when to generate assets
[--migration]            # Indicates when to generate migration