在Rails应用程序中打印所有测试的列表

时间:2010-01-21 18:39:39

标签: ruby-on-rails ruby testing shoulda

是否有一个简单的ruby或rails命令来获取应用程序中所有测试的列表?我主要使用Shoulda,但是如果有一个ruby解决方案,无论测试套件是否也能工作。

3 个答案:

答案 0 :(得分:1)

我找到了一个迂回的解决方案:test_benchmarker plugin。您使用额外的环境变量运行测试,如下所示:

rake test BENCHMARK_TESTS=true

您最好将输出汇总到一个文件,因为它将。但它会为您提供所有测试类和测试本身的列表,包括单元和功能。显然它也为你提供了基准测试结果,这是一个奖励。

有什么更好的吗?我想这是非常接近的,额外的努力是如此之少,为什么不获得基准测试结果呢? RSpec内置了这个功能,但是为Test :: Unit编写一个版本可能会很有趣。

答案 1 :(得分:0)

我认为这里没有一个解决方案适合所有的答案:如何确定测试将在很大程度上依赖于框架。一旦你进入像shoulda这样的框架,如果不执行它们就很难识别所有测试,例如,考虑你在循环中有should个要求的情况。

在执行测试时列出所有测试,需要深入研究框架代码,以确定/生成各个测试并提取所需信息。

我有兴趣了解我是否(以及如何)错了,但是......

答案 2 :(得分:0)

我认为您需要这个。这就是“ rails test”命令的作用

tests = Rake::FileList["test/**/*_test.rb"]