[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8066":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":14,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":17,"lastSyncTime":33,"discoverSource":34},8066,"test-prof","test-prof\u002Ftest-prof","Ruby Tests Profiling Toolbox","https:\u002F\u002Ftest-prof.evilmartians.io\u002F",null,"Ruby",2038,166,11,3,0,1,2,5,28.67,"MIT License",false,"master",[24,25,26,27,28,29],"hacktoberfest","profiling","rails","rspec","ruby","testing","2026-06-12 02:01:48","[![Cult Of Martians](http:\u002F\u002Fcultofmartians.com\u002Fassets\u002Fbadges\u002Fbadge.svg)](https:\u002F\u002Fcultofmartians.com)\n[![Gem Version](https:\u002F\u002Fbadge.fury.io\u002Frb\u002Ftest-prof.svg)](https:\u002F\u002Frubygems.org\u002Fgems\u002Ftest-prof) [![Build](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Fworkflows\u002FBuild\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Factions)\n[![JRuby Build](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Fworkflows\u002FJRuby%20Build\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Factions)\n[![Code Triagers Badge](https:\u002F\u002Fwww.codetriage.com\u002Ftest-prof\u002Ftest-prof\u002Fbadges\u002Fusers.svg)](https:\u002F\u002Fwww.codetriage.com\u002Ftest-prof\u002Ftest-prof)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-link-brightgreen.svg)](https:\u002F\u002Ftest-prof.evilmartians.io)\n\n# Ruby Tests Profiling Toolbox\n\n\u003Cimg align=\"right\" height=\"150\" width=\"129\"\n     title=\"TestProf logo\" src=\".\u002Fdocs\u002Fassets\u002Fimages\u002Flogo.svg\">\n\nTestProf is a collection of different tools to analyze your test suite performance.\n\nWhy does test suite performance matter? First of all, testing is a part of a developer's feedback loop (see [@searls](https:\u002F\u002Fgithub.com\u002Fsearls) [talk](https:\u002F\u002Fvimeo.com\u002F145917204)) and, secondly, it is a part of a deployment cycle.\n\nSimply speaking, slow tests waste your time making you less productive.\n\nTestProf toolbox aims to help you identify bottlenecks in your test suite. It contains:\n\n- Plug'n'Play integrations for general Ruby profilers ([`ruby-prof`](https:\u002F\u002Fgithub.com\u002Fruby-prof\u002Fruby-prof), [`stackprof`](https:\u002F\u002Fgithub.com\u002Ftmm1\u002Fstackprof))\n\n- Factories usage analyzers and profilers\n\n- ActiveSupport-backed profilers\n\n- RSpec and minitest [helpers](https:\u002F\u002Ftest-prof.evilmartians.io\u002F#\u002F?id=recipes) to write faster tests\n\n- RuboCop cops\n\n- etc.\n\n📑 [Documentation](https:\u002F\u002Ftest-prof.evilmartians.io)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"http:\u002F\u002Fbit.ly\u002Ftest-prof-map-v1\">\n    \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fimages\u002Fcoggle.png\" alt=\"TestProf map\" width=\"738\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fevilmartians.com\u002F?utm_source=test-prof\">\n    \u003Cimg src=\"https:\u002F\u002Fevilmartians.com\u002Fbadges\u002Fsponsored-by-evil-martians.svg\"\n         alt=\"Sponsored by Evil Martians\" width=\"236\" height=\"54\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Who uses TestProf\n\n- [Discourse](https:\u002F\u002Fgithub.com\u002Fdiscourse\u002Fdiscourse) reduced [~27% of their test suite time](https:\u002F\u002Ftwitter.com\u002Fsamsaffron\u002Fstatus\u002F1125602558024699904)\n- [Gitlab](https:\u002F\u002Fgitlab.com\u002Fgitlab-org\u002Fgitlab-ce) reduced [39% of their API tests time](https:\u002F\u002Fgitlab.com\u002Fgitlab-org\u002Fgitlab-ce\u002Fmerge_requests\u002F14370) and [improved factories usage](https:\u002F\u002Fgitlab.com\u002Fgitlab-org\u002Fgitlab\u002F-\u002Fmerge_requests\u002F26810)\n- [CodeTriage](https:\u002F\u002Fgithub.com\u002Fcodetriage\u002Fcodetriage)\n- [Dev.to](https:\u002F\u002Fgithub.com\u002Fthepracticaldev\u002Fdev.to)\n- [Open Project](https:\u002F\u002Fgithub.com\u002Fopf\u002Fopenproject)\n- [...and others](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Fissues\u002F73)\n\n## Resources\n\n- [TestProf: a good doctor for slow Ruby tests](https:\u002F\u002Fevilmartians.com\u002Fchronicles\u002Ftestprof-a-good-doctor-for-slow-ruby-tests)\n\n- [TestProf II: Factory therapy for your Ruby tests](https:\u002F\u002Fevilmartians.com\u002Fchronicles\u002Ftestprof-2-factory-therapy-for-your-ruby-tests-rspec-minitest)\n\n- Paris.rb, 2018, \"99 Problems of Slow Tests\" talk [[video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=eDMZS_fkRtk), [slides](https:\u002F\u002Fspeakerdeck.com\u002Fpalkan\u002Fparis-dot-rb-2018-99-problems-of-slow-tests)]\n\n- BalkanRuby, 2018, \"Take your slow tests to the doctor\" talk [[video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rOcrme82vC8)], [slides](https:\u002F\u002Fspeakerdeck.com\u002Fpalkan\u002Fbalkanruby-2018-take-your-slow-tests-to-the-doctor)]\n\n- RailsClub, Moscow, 2017, \"Faster Tests\" talk [[video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8S7oHjEiVzs) (RU), [slides](https:\u002F\u002Fspeakerdeck.com\u002Fpalkan\u002Frailsclub-moscow-2017-faster-tests)]\n\n- RubyConfBy, 2017, \"Run Test Run\" talk [[video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=q52n4p0wkIs), [slides](https:\u002F\u002Fspeakerdeck.com\u002Fpalkan\u002Frubyconfby-minsk-2017-run-test-run)]\n\n- [Tips to improve speed of your test suite](https:\u002F\u002Fmedium.com\u002Fappaloosa-store-engineering\u002Ftips-to-improve-speed-of-your-test-suite-8418b485205c) by [Benoit Tigeot](https:\u002F\u002Fgithub.com\u002Fbenoittgt)\n\n## Installation\n\nAdd `test-prof` gem to your application:\n\n```ruby\ngroup :test do\n  gem \"test-prof\", \"~> 1.0\"\nend\n```\n\nAnd that's it)\n\nSupported Ruby versions:\n\n- Ruby (MRI) >= 2.7.0 (**NOTE:** for Ruby 2.2 use TestProf \u003C 0.7.0, Ruby 2.3 use TestProf ~> 0.7.0, Ruby 2.4 use TestProf \u003C0.12.0, Ruby 2.5-2.6 use TestProf \u003C 1.3)\n\n- JRuby >= 9.3.0\n\nSupported RSpec version (for RSpec features only): >= 3.5.0 (for older RSpec versions use TestProf \u003C 0.8.0).\n\n## Usage\n\nCheck out our [docs][].\n\n## What's next\n\nHave an idea? [Propose](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Fissues\u002Fnew) a feature request!\n\nAlready using TestProf? [Share your story!](https:\u002F\u002Fgithub.com\u002Ftest-prof\u002Ftest-prof\u002Fissues\u002F73)\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT).\n\n[docs]: https:\u002F\u002Ftest-prof.evilmartians.io\n","TestProf 是一个用于分析 Ruby 测试套件性能的工具箱。它集成了多种工具，如 Ruby 通用分析器（`ruby-prof` 和 `stackprof`）集成、工厂使用情况分析器与分析器、ActiveSupport 支持的分析器以及 RSpec 和 minitest 的辅助工具来帮助编写更快的测试，并包含 RuboCop 规则等。通过这些功能，TestProf 可以帮助开发者识别测试中的瓶颈，从而提高测试效率。该项目特别适用于需要优化测试速度的 Ruby 或 Rails 项目中，无论是大型企业级应用还是小型开源项目，都可以从中受益。","2026-06-11 03:15:52","top_language"]