3

我已将所有规格放入specs/*.rb.

但是,当我使用 运行 Minitest 时ruby spec/**/*_spec.rb,只运行一个文件。

是什么赋予了?

4

2 回答 2

3

这不是 minitest 特定的,而是 Ruby。您正在有效地运行一个 ruby​​ 程序,它对正在运行的程序一无所知。

Ruby 不支持一次运行多个文件 afaik,因此如果您想获得类似的结果,您可以尝试以下操作:

for file in spec/**/*_spec.rb; do ruby $file; done

更新:对于您想要的,您可能应该按照此处所述创建一个 Rake 任务

于 2012-08-21T05:23:08.130 回答
1

您可以使用testrbl第三方 gem 在命令行上运行多个 Minitest 文件。您还可以使用maxitest扩展中的mtestbin 。

在 bash 中使用for循环会产生为您通过的每个测试加载应用程序/库的开销。如果您只有 10 个测试,并且您正在测试一个需要 5 秒才能启动的 Rails 应用程序,那么这完全是不必要的加载时间超过一分钟。

于 2014-08-15T22:00:12.790 回答