加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何配置ruby单元测试执行?

发布时间:2020-12-17 03:08:39 所属栏目:百科 来源:网络整理
导读:我想知道运行10个最耗时的测试需要花多少时间…就像我可以用rspec做的那样,有什么建议吗? 解决方法 简短回答: gem install minitest # Install MiniTestgem install minitest_tu_shim # Install Test::Unit shimuse_minitest yes # Use MiniTest Test::Uni
我想知道运行10个最耗时的测试需要花多少时间…就像我可以用rspec做的那样,有什么建议吗?

解决方法

简短回答:

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标志测量每个测试所用的时间.当你运行时,请确保在脚本之后放置此标志

如果在rails中使用Rake::TestTask来运行测试,则可以通过运行在运行时指定它

rake test TESTOPTS='-v'

或者通过在options属性中添加-v来在任务中指定它,就像这样

Rake::TestTask.new do |t|
  t.options = '-v'
end

最后,如果您正在使用rails并且MiniTest对您来说不够好,您可能会欣赏test_benchmark插件.用法很简单.将以下行添加到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,因为它会让您的测试更快,并且将继续在Ruby 1.9中得到支持.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读