All Versions
Latest Version
Avg Release Cycle
52 days
Latest Release
713 days ago

Changelog History
Page 4

  • v0.7.0 Changes

    August 12, 2018
    • ๐Ÿ’Ž Ruby 2.3+ is required. ([@palkan][])

    Ruby 2.2 EOL was on 2018-03-31.

    • โฌ†๏ธ Upgrade RubyProf integration to ruby-prof >= 0.17. ([@palkan][])

    Use exclude_common_methods! instead of the deprecated eliminate_methods!.

    Add RSpec specific exclusions.

    Add ability to specify custom exclusions through config.custom_exclusions, e.g.:

      TestProf::RubyProf.configure do |config|
        config.custom_exclusions = {User => %i[save save!]}
  • v0.6.0 Changes

    June 29, 2018

    ๐Ÿ”‹ Features

    • โž• Add EventProf.monitor to instrument arbitrary methods. ([@palkan][])

    Add custom instrumetation easily:

      class Work
        def do
          # ...
      # Instrument Work#do calls with "" event
      TestProf::EventProf.monitor(Work, "", :do)

    โœ… ๐Ÿ“ Docs

    • Adapterize before_all. ([@palkan][])

    Now it's possible to write your own adapter for before_all to manage transactions.

    โœ… ๐Ÿ“ Docs

    • โž• Add before_all for Minitest. ([@palkan][])

    โœ… ๐Ÿ“ Docs

    ๐Ÿ›  Fixes & Improvements

    • ๐Ÿ‘‰ Show top let declarations per example group in RSpecDissect profiler. ([@palkan][])

    The output now includes the following information:

      Top 5 slowest suites (by `let` time):
      FunnelsController (./spec/controllers/funnels_controller_spec.rb:3) โ€“ 00:38.532 of 00:43.649 (133)
      โ†ณ user โ€“ 3
      โ†ณ funnel โ€“ 2
      ApplicantsController (./spec/controllers/applicants_controller_spec.rb:3) โ€“ 00:33.252 of 00:41.407 (222)
      โ†ณ user โ€“ 10
      โ†ณ funnel โ€“ 5

    Enabled by default. Disable it with:

      TestProf::RSpecDissect.configure do |config|
        config.let_stats_enabled = false
    • โœ… [Fix #80] Added ability to preserve traits. ([@Vasfed][])

    Disabled by default for compatibility. Enable globally by FactoryDefault.preserve_traits = true or for single create_default: create_default(:user, preserve_traits: true)

    When enabled - default object will be used only when there's no traits in association.

    • โž• Add ability to run only let or before profiler with RSpecDissect. ([@palkan][])

    • Collect raw data with StackProf by default. ([@palkan][])

    • Refactor :with_clean_fixture to clean data once per group. ([@palkan][])

    • โœ… [Fix #75] Fix RSpec/Aggregate failures with non-regular examples. ([@palkan][])

    Do not take into account xit, pending, its, etc. examples, only consider regular it, specify, scenario, example.

  • v0.5.0 Changes

    April 25, 2018

    ๐Ÿ”‹ Features

    • โž• Add events support to TagProf. ([@palkan][])

    Example usage:

      TAG_PROF=type TAG_PROF_EVENT=sql.active_record rspec

    ๐Ÿ“ Docs

    • โž• Add logging helpers for Rails. ([@palkan][])

    Enable verbose logging globally:

      LOG=all rspec

    Or per example (group):

      it "does smth weird", :log do
        # ...

    ๐Ÿ“ Docs

    • โž• Add HTML report for TagProf. ([@palkan][])

    Generate HTML report by setting TAG_PROF_FORMAT to html.

    • โž• Add ability to track multiple events at the same time with EventProf. ([@palkan][])

    • โž• Add AnyFixture DSL. ([@palkan][])


      # Enable DSL
      using TestProf::AnyFixture::DSL
      # and then you can use `fixture` method (which is just an alias for `TestProf::AnyFixture.register`)
      before(:all) { fixture(:account) }
      # You can also use it to fetch the record (instead of storing it in instance variable)
      let(:account) { fixture(:account) }

    ๐Ÿ“ Docs

    • โž• Add AnyFixture usage report. ([@palkan][])

    Enable AnyFixture usage reporting with ANYFIXTURE_REPORTING=1 or with:

      TestProf::AnyFixture.reporting_enabled = true

    ๐Ÿ“ Docs

    • โž• Add ActiveRecordSharedConnection recipe. ([@palkan][])

    Force ActiveRecord to use the same connection between threads (to avoid database cleaning in browser tests).

    ๐Ÿ“ Docs

    • โœ… #70 Add FactoryAllStub recipe. ([@palkan][])

    ๐Ÿ“ Docs

    • โž• Add ActiveRecordRefind refinement. ([@palkan][])

    ๐Ÿ“ Docs

    ๐Ÿ›  Fixes & Improvements

  • v0.4.9 Changes

    March 20, 2018
    • โœ… [Fix #64] Fix dependencies requiring for FactoryDefault. ([@palkan][])

    • โœ… [Fix #60] Fix RSpecDissect reporter hooks. ([@palkan][])

    Consider only example_failed and example_passed to ensure that the run_time is available.

  • v0.4.8 Changes

    January 17, 2018
    • โž• Add minitest 5.11 support. ([@palkan][])

    • ๐Ÿ›  Fix spring detection. ([@palkan][])

    Some spring-related gems do not check whether Spring is running and load Spring modules. Thus we have Spring defined (and even Spring.after_fork defined) but no-op.

    Now we require that Spring::Applcation is defined in order to rely on Spring.

    Possibly fixes #47.

  • v0.4.7 Changes

    December 25, 2017
    • โœ… #57 Fix RubyProf Printers Support ([@rabotyaga][])
  • v0.4.6 Changes

    December 17, 2017
    • โฌ†๏ธ Upgrade RSpec/AggregateFailures to RuboCop 0.52.0. ([@palkan][])

    RuboCop < 0.51.0 is not supported anymore.

    • [Fixes #49] Correctly detect RSpec version in let_it_be. ([@desoleary][])
  • v0.4.5 Changes

    December 09, 2017
    • ๐Ÿ›  Fix circular require in lib/factory_doctor/minitest. ([@palkan][])
  • v0.4.4 Changes

    November 08, 2017
    • โœ… [Fixes #48] Respect RubyProf reports files extensions. ([@palkan][])
  • v0.4.3 Changes

    October 26, 2017
    • โœ… #46 Support FactoryBot, which is former FactoryGirl, while maintaining compatibility with latter. ([@Shkrt][])