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
withisolator
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 ๐ supportinglock_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: 119total 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
andtop_level
options toEventProf::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.
- Added global callbacks to
-
v0.8.0 Changes
April 12, 2019Cosmonautics 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 withisolator
.
๐ ๐ Documentation
- ๐ฒ Add
with_logging
andwith_ar_logging
helpers to logging recipe.
๐ ๐Documentation
- ๐ Make
-
v0.7.5 Changes
February 22, 2019๐ Changes
Make
let_it_be
andbefore_all
work withinclude_context
inRSpec.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][])
- โ Add
-
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" }