仅生成现有模型/控制器的测试

kel*_*lso 17 testing rake ruby-on-rails ruby-on-rails-3

我有一个基于别人工作的Rails3应用程序.出于某种原因,他们决定不提供应用程序的测试,我觉得令人沮丧.

我希望能够做的是脚手架测试所有现有的控制器和模型,所以我可以得到一个头在测试::单位创建测试我做起.我不想重新创建模型或控制器,只需创建测试.

我是Rails的新手,并且已经找到了可能会执行此操作的rake命令,但到目前为止一切都没有运气.任何建议/方向最受赞赏.

Zeq*_*uez 21

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

rails g scaffold Post -s
Run Code Online (Sandbox Code Playgroud)

-s使得它跳过已经创建的文件.此外,如果您不使用该标志,它只是询问您是否要覆盖该文件,所以,不用担心.

  • 您可能还想使用--skip-migrations. (3认同)

小智 15

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

rails g resource Post --skip --no-resource-route --no-migration --no-helper --no-assets
Run Code Online (Sandbox Code Playgroud)

其他选项可以使用 rails generate resource --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
Run Code Online (Sandbox Code Playgroud)

为什么不用generate scaffold?因为它可能会生成我不使用的视图.