8

是否有针对单个 rake 任务的标准帮助命令?

rake -h显示 rake 的选项。

rake -D描述 rake 任务。

rake mytask运行我的任务。

是否有类似的东西rake -h mytask可以描述 mytask,并列出其可选和/或必需的参数?

例如,以下代码将在 rails 中运行单独的测试:

rake test TEST=path_to_test

我如何发现 TEST=path_to_test 是 rake test 的可选参数?

4

3 回答 3

4

该命令rake -D test不在我的系统上。相反,您可以使用

# list test command with details
rake test -D 

# list all test tasks with description
rake test -T

# list all test tasks even without description(Recommened)
rake test -T -A
于 2013-03-28T05:55:54.867 回答
1

-D接受一个模式。所以你可以使用它。

例子:

rake -D db

rake -D db:migrate
于 2013-03-28T05:25:44.937 回答
0

TEST=path_to_test正在设置环境变量。因此,如果rake -D test没有为您提供有关如何在 rake 任务中使用环境变量的任何信息,那么您必须求助于查看源代码或替代文档。并且查看源代码,在 Rails rake test 中只检查了两个环境变量:TESTTESTOPTS,后者用于与 Ruby 打包并用于 Rails 测试的 Minitest 中。

Rails 中的文档给出了一个示例: rake test TEST=path/to/test.rb TESTOPTS="--name=test_something"

其他选项包括--color--fail-fast (参考:https ://github.com/rails/rails/blob/df74da026b9210a9cb6258e7029cafcc02aa6d15/guides/source/testing.md )

(我已经为将来研究这个问题的任何人添加了这个答案,比如我。)

或者,您可以在 rake 之外运行测试。不确定这是否会使其更快。

例如,在 MailLayoutTest 中运行“显式类布局”测试可以通过以下方式完成: ruby -Itest test/mail_layout_test.rb -n test_explicit_class_layout

(参考: https ://github.com/rails/rails/blob/2f1fefe456932a6d7d2b155d27b5315c33f3daa1/guides/source/contributing_to_ruby_on_rails.md )

于 2020-03-24T20:21:39.333 回答