我想知道花了多少时间来运行10个最耗时的测试..就像我能用rspec做的那样,有什么建议吗?如何才能描述ruby单元测试执行?
回答
简短的回答:
gem install minitest # Install MiniTest
gem install minitest_tu_shim # Install Test::Unit shim
use_minitest yes # Use MiniTest Test::Unit shim instead of stdlib Test::Unit
ruby your_test.rb -v # Run your test in verbose mode
Ruby 1.9的使用MiniTest
作为其默认的测试框架,而不是Test::Unit
。 MiniTest体积更小,速度更快,具有更多实用功能,并且主要向后兼容Test :: Unit。其中一项新功能是用-v
标志测量每次测试的时间。当您运行电子务必把这个标志的脚本
如果后,如导轨,使用Rake::TestTask
运行测试,你就可以在运行时指定它运行
rake test TESTOPTS='-v'
或通过增加-v
到options
属性,像这样
Rake::TestTask.new do |t|
t.options = '-v'
end
最后指定它的任务,如果你使用轨道和MINITEST刚刚是不是你不够好,你可能欣赏test_benchmark
plugi ñ。用法很简单。以下行添加到您的config/environments/test.rb
config.gem "timocratic-test_benchmark",
:lib => 'test_benchmark',
:source => 'http://gems.github.com'
与
RAILS_ENV='test' rake gems:install
从此安装它,您会在运行测试得到一个很好的排序列表
rake test:units
[...]
Test Benchmark Times: Suite Totals:
7.124 test_destroy(FeedTest)
7.219 test_create(FeedTest)
7.646 test_subscribe_to_auto_discovery(FeedTest)
9.339 test_auto_discover_updates_url(FeedTest)
9.543 test_find_or_create_by_auto_discover_url(FeedTest)
15.780 test_import_from_opml(FeedTest)
我很抱歉,MiniTest
和test_benchmark
插件互相不兼容,但我强烈建议您尝试MiniTest
,因为它会让您的te速度更快,并将继续得到Ruby 1.9的支持。
真的很酷!非常感谢! – 2009-11-13 18:09:18
最近版本的'test-unit' gem也显示详细模式下的时间。 – 2010-02-11 00:16:00
哎呀我测试了这个,我得到: ARGH!有人定义了Test :: Unit :: TestCase,而不是要求 /usr/local/lib/site_ruby/1.8/rubygems.rb:777:in'report_activate_error':找不到RubyGem测试单元(= 1.2.3)(Gem :: LoadError) 任何想法? – 2010-05-06 16:09:08
也许运行您的单元测试在红宝石探查器下执行代码ruby -rprofile
而不是只是ruby
?
感谢您的答案,我试图运行它像你说的,但我得到这个: /usr/lib/ruby/1.8/profiler。 rb:13:在'hash'中:bignum太大而不能转换成'long'(RangeError) – 2009-11-12 18:41:47
Minitest :: Profile是在标准测试运行后列出顶级违规者的新宝石。
我们使用过这个,它非常好 – 2015-03-26 14:36:43
- 1. Eclipse TPTP:如何描述单元测试?
- 2. 如何为单元测试指定描述性名称
- 3. 执行测试和单元测试
- 4. 如何测试程序不运行它[Ruby测试/单元]
- 5. 小黄瓜描述测试或功能?
- 6. 如何获取测试用例描述?
- 7. 测试脚本描述框
- 8. 在Visual Studio 2015中显示单元测试的描述属性
- 9. 角2单元测试:找不到名称“描述”
- 10. 如何测试或描述无尽的可能性?
- 11. 如何运行android单元测试/功能测试?
- 12. Ruby测试::的单元测试零SimpleDelegator
- 13. Ruby的单元测试1.9.3
- 14. Ruby on Rails单元测试
- 15. 如何对数据提供者测试进行动态描述?
- 16. ZF2表单元素描述
- 17. 在Visual Studio中执行单个Boost测试单元测试
- 18. 我怎么能并行硒的Python测试执行与单元测试
- 19. 执行C#单元测试詹金斯
- 20. 单元测试可执行项目
- 21. Vert.x单元测试不执行
- 22. VS2010执行单元测试(bug)
- 23. 如何从命令行执行silverlight单元测试
- 24. 如何通过另一个测试才能运行测试类?
- 25. 如何才能使单元测试仅在DEBUG模式下运行?
- 26. 我如何才能运行单元测试只是源文件已更改?
- 27. 如何在Ruby解释器中编写和执行Ruby测试?
- 28. 如何单元测试私有功能
- 29. 多行单项描述
- 30. NSObject描述和调试描述
另一个解决方案是知道有多少了每个测试,而不仅仅是10个最费时。 – 2009-11-12 14:18:28
也许[这个插件](http://github.com/timocratic/test_benchmark)可以帮助你。 – 2009-11-12 16:06:43
现在我试图端口rspec到单元测试... – 2009-11-12 16:20:13