gpt4 book ai didi

ruby - 我该如何分析 ruby​​ 单元测试的执行情况?

转载 作者:数据小太阳 更新时间:2023-10-29 07:27:48 24 4
gpt4 key购买 nike

我想知道运行 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 标志测量每个测试所花费的时间。当您运行 e 时,请确保将此标志放在脚本之后

如果像在 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)

很抱歉 MiniTesttest_benchmark 插件彼此不兼容,但我强烈建议您尝试 MiniTest ,因为它将使您的测试更快,并将继续在 Ruby 1.9 中得到支持。

关于ruby - 我该如何分析 ruby​​ 单元测试的执行情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com