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

Changelog History
Page 3

  • v0.10.2 Changes

    January 07, 2020
    • ๐Ÿ›  Fix Ruby 2.7 deprecations. ([@lostie][])
  • v0.10.1 Changes

    October 17, 2019
    • ๐Ÿ›  Fix AnyFixture DSL when using with Rails 6.1+. ([@palkan][])

    • Fix loading let_it_be without ActiveRecord present. ([@palkan][])

    • ๐Ÿ›  Fix compatibility of before_all with isolator gem to handle correct usages of non-atomic interactions outside DB transactions. ([@Envek][])

    • โšก๏ธ Updates FactoryProf to show the amount of time taken per factory call. ([@tyleriguchi][])

  • v0.10.0 Changes

    August 19, 2019
    • ๐Ÿ’Ž Use RSpec example ID instead of full description for RubyProf/Stackprof report names. ([@palkan][])

    For more complex scenarios feel free to use your own report name generator:

      # for RubyProf
      TestProf::RubyProf::Listener.report_name_generator = ->(example) { "..." }
      # for Stackprof
      TestProf::StackProf::Listener.report_name_generator = ->(example) { "..." }
    
    • Support arrays in let_it_be with modifiers. ([@palkan][])
      # Now you can use modifiers with arrays
      let_it_be(:posts, reload: true) { create_pair(:post) }
    
    • Refactor let_it_be modifiers and allow adding custom modifiers. ([@palkan][])
      TestProf::LetItBe.config.register_modifier :reload do |record, val|
        # ignore when `reload: false`
        next record unless val
        # ignore non-ActiveRecord objects
        next record unless record.is_a?(::ActiveRecord::Base)
        record.reload
      end
    
    • โš  Print warning when ActiveRecordSharedConnection is used in the version of Rails ๐Ÿ‘Œ supporting lock_threads (5.1+). ([@palkan][])
  • v0.9.0 Changes

    May 14, 2019

    ๐Ÿš€ This release is inspired by ideas discussed and implemented in this PR to Discourse. Specials thanks to @danielwaterworth and @SamSaffron.

    tl;dr before_all hooks, let_it_be aliases, better Fabrication support.

    before_all

    • Added global callbacks to before_all.

    โช Now you can execute additional code before and after every before_all transaction begins and rollbacks:

    TestProf::BeforeAll.configure do |config| config.before(:begin) do# do something before transaction opensend config.after(:rollback) do# do something after transaction closesendend
    

    let_it_be

    • Added ability to use let_it_be aliases with predefined options.

      TestProf::LetItBe.configure do |config| config.alias_to :let_it_be_with_refind, refind: trueend

    โœ… Then use it in your tests:

    describe "smth" do let\_it\_be\_with\_refind(:foo) { Foo.create } # refind can still be overridden let\_it\_be\_with\_refind(:bar, refind: false) { Bar.create }end
    

    FactoryProf

    • โž• Added timings to FactoryProf report.

      [TEST PROF INFO] Factories usage

      Total: 15285
      Total top-level: 10286
      Total time: 299.5937s
      Total uniq factories: 119

      total top-level total time top-level time name 6091 2715 115.7671s 50.2517s user 2142 2098 93.3152s 92.1915s post

    FactoryDoctor

    โž• Added Fabrication support.

    โž• Added threshold and instrumentation event customization.

    NOTE: default threshold is 0.01s (i.e. if the DB time is less for the example, we consider it "good").

    $ FDOC=1 FDOC\_EVENT="sql.rom" FDOC\_THRESHOLD=0.1 rspec
    

    EventProf

    • โž• Added guard and top_level options to EventProf::Monitor.

    For example:

    TestProf::EventProf.monitor( Sidekiq::Client, "sidekiq.inline", :raw\_push, # top\_level: true means that we do not trigger events when the method is# called recursively within itselftop\_level: true, # only trigger the event when guard returns `true`guard: -\>(\*) { Sidekiq::Testing.inline? } )
    
    • โž• Added Fabrication support for factory.create event.
  • v0.8.0 Changes

    April 12, 2019

    Cosmonautics Day special.

    Major changes

    ๐Ÿ’Ž This release makes Ruby 2.4+ required and also RSpec 3.5+ required (for RSpec-related functionality).

    ๐Ÿ”‹ Features

    • ๐Ÿ‘‰ Make before_all compatible with isolator.

    ๐Ÿ“š ๐Ÿ“– Documentation

    • ๐ŸŒฒ Add with_logging and with_ar_logging helpers to logging recipe.

    ๐Ÿ“š ๐Ÿ“–Documentation

  • v0.7.5 Changes

    February 22, 2019

    ๐Ÿ”„ Changes

    Make let_it_be and before_all work with include_context in RSpec.configure.

    ๐Ÿ›  Fixes #117

  • v0.7.4 Changes

    February 16, 2019
    • โž• Add JSON report support for StackProf. ([@palkan][])

    • โž• Add ability to specify report/artifact name suffixes. ([@palkan][])

  • v0.7.3 Changes

    November 07, 2018
    • โž• Add a header with the general information on factories usage #99 ([@szemek][])

    • ๐Ÿ‘Œ Improve test sampling.([@mkldon][])

      $ SAMPLE=10 rake test # runs 10 random test examples
      $ SAMPLE_GROUPS=10 rake test # runs 10 random example groups
    
    • โœ… Extend Event Prof formatter to include the absolute run time and the percentage of the event tim #100 ([@dmagro][])
  • v0.7.2 Changes

    October 08, 2018
    • โž• Add RSpec/AggregateFailures support for non-regular 'its' examples. ([@broels][])
  • v0.7.1 Changes

    August 20, 2018
    • โž• Add ability to ignore connection configurations in shared connection.([@palkan][])

    Example:

      # Do not use shared connection for sqlite db
      TestProf::ActiveRecordSharedConnection.ignore { |config| config[:adapter] == "sqlite3" }