Ruby Tests Profiling Toolbox
Annotate
Ruby Tests Profiling Toolbox | Annotate | |
---|---|---|
7 | 9 | |
1,793 | 4,331 | |
0.6% | - | |
7.8 | 2.4 | |
5 days ago | 5 days ago | |
Ruby | Ruby | |
MIT License | Ruby License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Ruby Tests Profiling Toolbox
-
Must-have gems for mature Rails
gem "test-prof" - https://github.com/test-prof/test-prof | Toolkit for inspecting and optimising your test-suite, a must-have.
-
Measuring load time on fixtures
You might be able to do something with https://test-prof.evilmartians.io, but I'm not sure it has anything specific to fixtures out of the box. Maybe using the event profiler on sql.active_record events would be close enough. In the limit, you could wire together your own ActiveSupport::Notifications.instrument around the relevant blocks + an ActiveSupport::Notifications.subscribe to that event so as to log the relevant information. Docs: https://api.rubyonrails.org/classes/ActiveSupport/Notifications.html
-
How to optimize factory creation.
To have a better vision of what objects are created in our spec file we can use test-prof, a powerful gem that provides a collection of different tools to analyse your test suite performance. One of this tool is really useful to identify a factory cascade, let’s introduce factory profiler.
-
A Trick For Reading Flamegraphs
TestProf can be used to get flamegraphs for Ruby test suites.
- How to improve a test suit made with Rspec, Capybara, FactoryBot and Siteprism
-
Does pytest break a lot of coding rules?
Rspec has spec_helper.rb.
-
Learning resources to broaden the knowledge
I also love the test-prof documentation, there's a lot of good ideas on how to improve test performance.
Annotate
-
Must-have gems for mature Rails
gem "annotate" - https://github.com/ctran/annotate_models | Adds DB-schema comments to models. May be unnecessary on RubyMine, YMMW.
-
I spent the past 3 months working on a fork of the Annotate models gem
I believe Ctran is aware of this based on his response in this issue https://github.com/ctran/annotate_models/issues/913
-
What was the name of the gem that finds all unindexed foreign keys?
A gem that's pretty useful alongside this one is the annotation gem -- it prefixes models with their specific schema dump (as comments) and then updates those descriptive comments on migration. It's one of my go-to gems to install when I rotate onto a new-to-me Rails project (or start a new one) and I'm working to understand the data model.
- Cansado de conferir o schema.rb
-
Could really use some help with a plugin rake task issue
Have you looked at annotate for inspiration?
-
The database and migrations work is annoying me the most about Rails as a newcomer, am I missing something?
I get it, though. Sounds like you're used to seeing every column definition in there. And that would be handy. There is a gem that you might like: https://github.com/ctran/annotate_models
-
Rails application boilerplate for fast MVP development
annotate for annotations
What are some alternatives?
DuckRails - Development tool to mock API endpoints quickly and easily (docker image available)
Apipie - Ruby on Rails API documentation tool
Spinach - Spinach is a BDD framework on top of Gherkin.
RDoc - RDoc produces HTML and online documentation for Ruby projects.
minitest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
YARD - YARD is a Ruby Documentation tool. The Y stands for "Yay!"
timecop - A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
factory_bot - A library for setting up Ruby objects as test data.
rspec_api_documentation - Automatically generate API documentation from RSpec
faker - A library for generating fake data such as names, addresses, and phone numbers.
Asciidoctor - :gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.