All Versions
52
Latest Version
Avg Release Cycle
52 days
Latest Release
959 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!]}
      end
    
  • v0.6.0 Changes

    June 29, 2018

    🔋 Features

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

    Add custom instrumetation easily:

      class Work
        def do
          # ...
        end
      end
    
      # Instrument Work#do calls with "my.work" event
      TestProf::EventProf.monitor(Work, "my.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
      end
    
    • ✅ [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
        # ...
      end
    

    📝 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][])

    Example:

      # 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][])