test-prof 0.11.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2060dd26a4bec62bd9a3b699e1165c60b8914a74c9fc25b3a0edf84afbd7d2b
4
- data.tar.gz: 9b8e3eb78764c130ae78a575a5cdfe5d9e9a440d7b748c108b5088d99dc7261d
3
+ metadata.gz: 89c1d2f72a772c731bcb32ee68a21129e82a003a40a194f6a503a31e5b445954
4
+ data.tar.gz: 6ed48924861ec8523a083ba853bf5de43579df0624f95e003ca6d417c9b4e076
5
5
  SHA512:
6
- metadata.gz: 6998b3cb30fa82bf6b2311dfa733f0c32694964741aa923b1300115d670c0cfc7e834ad55a9a9b4295e5b02e85d18e529d75d775b16d00ecc44956bee30231aa
7
- data.tar.gz: b42a91195b9e6a49522bd33ede09ae9ee769b7ee1678de97d2a0bcf593ab076811f20938f2f2deabe864e22e6c9cab5b0e1b7431da91492b9d7959e7b6b52769
6
+ metadata.gz: 7c62484546cda02e28ce819790cb3479004a970dc1c88849eb7ff3e55114b71710774f0dbc2ce7d4874036a5513f10585c3c4d805db05a75c93acb69a36436cb
7
+ data.tar.gz: 4b6d8438fff041a84975c52428f50a03d9f4519a08a2884a35ae45bb43df4c11fa7f375a041477928a1009610dd0dc96d1e702ba6728eb4a2db8a6e147c3119b
@@ -1,510 +1,169 @@
1
1
  # Change log
2
2
 
3
- ## master (unreleased)
3
+ ## master (unrealeased)
4
4
 
5
- ## 0.11.0 (2020-02-09)
6
-
7
- - Fix `let_it_be` issue when initialized with an array/enumerable or an AR relation. ([@pirj][])
8
-
9
- - Improve `RSpec/AggregateExamples` (formerly `RSpec/AggregateFailures`) cop. ([@pirj][])
10
-
11
- ## 0.10.2 (2020-01-07) 🎄
12
-
13
- - Fix Ruby 2.7 deprecations. ([@lostie][])
14
-
15
- ## 0.10.1 (2019-10-17)
16
-
17
- - Fix AnyFixture DSL when using with Rails 6.1+. ([@palkan][])
18
-
19
- - Fix loading `let_it_be` without ActiveRecord present. ([@palkan][])
20
-
21
- - Fix compatibility of `before_all` with [`isolator`](https://github.com/palkan/isolator) gem to handle correct usages of non-atomic interactions outside DB transactions. ([@Envek][])
22
-
23
- - Updates FactoryProf to show the amount of time taken per factory call. ([@tyleriguchi][])
24
-
25
- ## 0.10.0 (2019-08-19)
26
-
27
- - Use RSpec example ID instead of full description for RubyProf/Stackprof report names. ([@palkan][])
28
-
29
- For more complex scenarios feel free to use your own report name generator:
30
-
31
- ```ruby
32
- # for RubyProf
33
- TestProf::RubyProf::Listener.report_name_generator = ->(example) { "..." }
34
- # for Stackprof
35
- TestProf::StackProf::Listener.report_name_generator = ->(example) { "..." }
36
- ```
37
-
38
- - Support arrays in `let_it_be` with modifiers. ([@palkan][])
39
-
40
- ```ruby
41
- # Now you can use modifiers with arrays
42
- let_it_be(:posts, reload: true) { create_pair(:post) }
43
- ```
44
-
45
- - Refactor `let_it_be` modifiers and allow adding custom modifiers. ([@palkan][])
46
-
47
- ```ruby
48
- TestProf::LetItBe.config.register_modifier :reload do |record, val|
49
- # ignore when `reload: false`
50
- next record unless val
51
- # ignore non-ActiveRecord objects
52
- next record unless record.is_a?(::ActiveRecord::Base)
53
- record.reload
54
- end
55
- ```
56
-
57
- - Print warning when `ActiveRecordSharedConnection` is used in the version of Rails
58
- supporting `lock_threads` (5.1+). ([@palkan][])
59
-
60
- ## 0.9.0 (2019-05-14)
61
-
62
- - Add threshold and custom event support to FactoryDoctor. ([@palkan][])
63
-
64
- ```sh
65
- $ FDOC=1 FDOC_EVENT="sql.rom" FDOC_THRESHOLD=0.1 rspec
66
- ```
67
-
68
- - Add Fabrication support to FactoryDoctor. ([@palkan][])
69
-
70
- - Add `guard` and `top_level` options to `EventProf::Monitor`. ([@palkan][])
71
-
72
- For example:
73
-
74
- ```ruby
75
- TestProf::EventProf.monitor(
76
- Sidekiq::Client,
77
- "sidekiq.inline",
78
- :raw_push,
79
- top_level: true,
80
- guard: ->(*) { Sidekiq::Testing.inline? }
81
- )
82
- ```
83
-
84
- - Add global `before_all` hooks. ([@danielwaterworth][], [@palkan][])
85
-
86
- Now you can run additional code before and after every `before_all` transaction
87
- begins and rollbacks:
88
-
89
- ```ruby
90
- TestProf::BeforeAll.configure do |config|
91
- config.before(:begin) do
92
- # do something before transaction opens
93
- end
5
+ ## 0.12.1 (2020-09-01)
94
6
 
95
- config.after(:rollback) do
96
- # do something after transaction closes
97
- end
98
- end
99
- ```
100
-
101
- - Add ability to use `let_it_be` aliases with predefined options. ([@danielwaterworth][])
102
-
103
- ```ruby
104
- TestProf::LetItBe.configure do |config|
105
- config.alias_to :let_it_be_with_refind, refind: true
106
- end
107
- ```
108
-
109
- - Made FactoryProf measure and report on timing ([@danielwaterworth][])
7
+ - Minor improvements.
110
8
 
111
- ## 0.8.0 (2019-04-12) 🚀
9
+ ## 0.12.0 (2020-07-17)
112
10
 
113
- - **Ruby 2.4+ is requiered** ([@palkan][])
11
+ - Add state leakage detection for `let_it_be`. ([@pirj][], [@jaimerson][], [@alexvko][])
114
12
 
115
- - **RSpec 3.5+ is requiered for RSpec features** ([@palkan][])
13
+ - Add default let_it_be modifiers configuration. ([@palkan][])
116
14
 
117
- - Make `before_all` compatible with [`isolator`](https://github.com/palkan/isolator). ([@palkan][])
15
+ You can configure global modifiers:
118
16
 
119
- - Add `with_logging` and `with_ar_logging` helpers to logging recipe. ([@palkan][])
17
+ ```ruby
18
+ TestProf::LetItBe.configure do |config|
19
+ # Make refind activated by default
20
+ config.default_modifiers[:refind] = true
21
+ end
22
+ ```
120
23
 
121
- - Make `before_all` for Active Record `lock_thread` aware. ([@palkan][])
24
+ Or for specific contexts via tags:
122
25
 
123
- `before_all` can went crazy if you open multiple connections within it
124
- (since it tracks the number of open transactions).
125
- Rails 5+ `lock_thread` feature only locks the connection thread in
126
- `before`/`setup` hook thus making it possible to have multiple connections/transactions
127
- in `before_all` (e.g. performing jobs with Active Job async adapter).
26
+ ```ruby
27
+ context "with let_it_be reload", let_it_be_modifiers: {reload: true} do
28
+ # examples
29
+ end
30
+ ```
128
31
 
129
- ## 0.7.5 (2019-02-22)
32
+ - **Drop Ruby 2.4 support.** ([@palkan][])
130
33
 
131
- - Make `let_it_be` and `before_all` work with `include_context`. ([@palkan][])
34
+ - SAMPLE and SAMPLE_GROUP work consistently with seed in RSpec and Minitest. ([@stefkin][])
132
35
 
133
- Fixes [#117](https://github.com/palkan/test-prof/issues/117)
36
+ - Make sure EventProf is not affected by time freezing. ([@palkan][])
134
37
 
135
- ## 0.7.4 (2019-02-16)
38
+ EventProf results now is not affected by `Timecop.freeze` or similar.
136
39
 
137
- - Add JSON report support for StackProf. ([@palkan][])
40
+ See more in [#181](https://github.com/test-prof/test-prof/issues/181).
138
41
 
139
- - Add ability to specify report/artifact name suffixes. ([@palkan][])
42
+ - Adds the ability to define stackprof's interval sampling by using `TEST_STACK_PROF_INTERVAL` env variable ([@LynxEyes][])
140
43
 
141
- ## 0.7.3 (2018-11-07)
44
+ Now you can use `$ TEST_STACK_PROF=1 TEST_STACK_PROF_INTERVAL=10000 rspec` to define a custom interval (in microseconds).
142
45
 
143
- - Add a header with the general information on factories usage [#99](https://github.com/palkan/test-prof/issues/99) ([@szemek][])
46
+ ## 0.11.3 (2020-02-11)
144
47
 
145
- - Improve test sampling.([@mkldon][])
48
+ - Disable `RSpec/AggregateFailures` by default. ([@pirj][])
146
49
 
147
- ```bash
148
- $ SAMPLE=10 rake test # runs 10 random test examples
149
- $ SAMPLE_GROUPS=10 rake test # runs 10 random example groups
150
- ```
50
+ ## 0.11.2 (2020-02-11)
151
51
 
152
- - Extend Event Prof formatter to include the absolute run time and the percentage of the event tim [#100](https://github.com/palkan/test-prof/issues/100) ([@dmagro][])
52
+ - Fix RuboCop integration regressions. ([@palkan][])
153
53
 
154
- ## 0.7.2 (2018-10-08)
54
+ ## 0.11.1 (2020-02-10)
155
55
 
156
- - Add `RSpec/AggregateFailures` support for non-regular 'its' examples. ([@broels][])
56
+ - Add `config/` to the gem contents. ([@palkan][])
157
57
 
158
- ## 0.7.1 (2018-08-20)
58
+ Fixes RuboCop integration regression from 0.11.0.
159
59
 
160
- - Add ability to ignore connection configurations in shared connection.([@palkan][])
161
-
162
- Example:
60
+ ## 0.11.0 (2020-02-09)
163
61
 
164
- ```ruby
165
- # Do not use shared connection for sqlite db
166
- TestProf::ActiveRecordSharedConnection.ignore { |config| config[:adapter] == "sqlite3" }
167
- ```
62
+ - Fix `let_it_be` issue when initialized with an array/enumerable or an AR relation. ([@pirj][])
168
63
 
169
- ## 0.7.0 (2018-08-12)
64
+ - Improve `RSpec/AggregateExamples` (formerly `RSpec/AggregateFailures`) cop. ([@pirj][])
170
65
 
171
- - **Ruby 2.3+ is required**. ([@palkan][])
66
+ ## 0.10.2 (2020-01-07) 🎄
172
67
 
173
- Ruby 2.2 EOL was on 2018-03-31.
68
+ - Fix Ruby 2.7 deprecations. ([@lostie][])
174
69
 
175
- - Upgrade RubyProf integration to `ruby-prof >= 0.17`. ([@palkan][])
70
+ ## 0.10.1 (2019-10-17)
176
71
 
177
- Use `exclude_common_methods!` instead of the deprecated `eliminate_methods!`.
72
+ - Fix AnyFixture DSL when using with Rails 6.1+. ([@palkan][])
178
73
 
179
- Add RSpec specific exclusions.
74
+ - Fix loading `let_it_be` without ActiveRecord present. ([@palkan][])
180
75
 
181
- Add ability to specify custom exclusions through `config.custom_exclusions`, e.g.:
76
+ - Fix compatibility of `before_all` with [`isolator`](https://github.com/palkan/isolator) gem to handle correct usages of non-atomic interactions outside DB transactions. ([@Envek][])
182
77
 
183
- ```ruby
184
- TestProf::RubyProf.configure do |config|
185
- config.custom_exclusions = {User => %i[save save!]}
186
- end
187
- ```
78
+ - Updates FactoryProf to show the amount of time taken per factory call. ([@tyleriguchi][])
188
79
 
189
- ## 0.6.0 (2018-06-29)
80
+ ## 0.10.0 (2019-08-19)
190
81
 
191
- ### Features
82
+ - Use RSpec example ID instead of full description for RubyProf/Stackprof report names. ([@palkan][])
192
83
 
193
- - Add `EventProf.monitor` to instrument arbitrary methods. ([@palkan][])
84
+ For more complex scenarios feel free to use your own report name generator:
194
85
 
195
- Add custom instrumetation easily:
86
+ ```ruby
87
+ # for RubyProf
88
+ TestProf::RubyProf::Listener.report_name_generator = ->(example) { "..." }
89
+ # for Stackprof
90
+ TestProf::StackProf::Listener.report_name_generator = ->(example) { "..." }
91
+ ```
196
92
 
197
- ```ruby
198
- class Work
199
- def do
200
- # ...
201
- end
202
- end
93
+ - Support arrays in `let_it_be` with modifiers. ([@palkan][])
203
94
 
204
- # Instrument Work#do calls with "my.work" event
205
- TestProf::EventProf.monitor(Work, "my.work", :do)
206
- ```
95
+ ```ruby
96
+ # Now you can use modifiers with arrays
97
+ let_it_be(:posts, reload: true) { create_pair(:post) }
98
+ ```
207
99
 
208
- [📝 Docs](https://test-prof.evilmartians.io/#/event_prof?id=profile-arbitrary-methods)
100
+ - Refactor `let_it_be` modifiers and allow adding custom modifiers. ([@palkan][])
209
101
 
210
- - Adapterize `before_all`. ([@palkan][])
102
+ ```ruby
103
+ TestProf::LetItBe.config.register_modifier :reload do |record, val|
104
+ # ignore when `reload: false`
105
+ next record unless val
106
+ # ignore non-ActiveRecord objects
107
+ next record unless record.is_a?(::ActiveRecord::Base)
108
+ record.reload
109
+ end
110
+ ```
211
111
 
212
- Now it's possible to write your own adapter for `before_all` to manage transactions.
112
+ - Print warning when `ActiveRecordSharedConnection` is used in the version of Rails
113
+ supporting `lock_threads` (5.1+). ([@palkan][])
213
114
 
214
- [📝 Docs](https://test-prof.evilmartians.io/#/before_all?id=database-adapters)
115
+ ## 0.9.0 (2019-05-14)
215
116
 
216
- - Add `before_all` for Minitest. ([@palkan][])
117
+ - Add threshold and custom event support to FactoryDoctor. ([@palkan][])
217
118
 
218
- [📝 Docs](https://test-prof.evilmartians.io/#/before_all?id=minitest-experimental)
119
+ ```sh
120
+ $ FDOC=1 FDOC_EVENT="sql.rom" FDOC_THRESHOLD=0.1 rspec
121
+ ```
219
122
 
220
- ### Fixes & Improvements
123
+ - Add Fabrication support to FactoryDoctor. ([@palkan][])
221
124
 
222
- - Show top `let` declarations per example group in RSpecDissect profiler. ([@palkan][])
125
+ - Add `guard` and `top_level` options to `EventProf::Monitor`. ([@palkan][])
223
126
 
224
- The output now includes the following information:
127
+ For example:
225
128
 
226
- ```
227
- Top 5 slowest suites (by `let` time):
129
+ ```ruby
130
+ TestProf::EventProf.monitor(
131
+ Sidekiq::Client,
132
+ "sidekiq.inline",
133
+ :raw_push,
134
+ top_level: true,
135
+ guard: ->(*) { Sidekiq::Testing.inline? }
136
+ )
137
+ ```
228
138
 
229
- FunnelsController (./spec/controllers/funnels_controller_spec.rb:3) 00:38.532 of 00:43.649 (133)
230
- ↳ user – 3
231
- ↳ funnel – 2
232
- ApplicantsController (./spec/controllers/applicants_controller_spec.rb:3) – 00:33.252 of 00:41.407 (222)
233
- ↳ user – 10
234
- ↳ funnel – 5
235
- ```
139
+ - Add global `before_all` hooks. ([@danielwaterworth][], [@palkan][])
236
140
 
237
- Enabled by default. Disable it with:
141
+ Now you can run additional code before and after every `before_all` transaction
142
+ begins and rollbacks:
238
143
 
239
- ```ruby
240
- TestProf::RSpecDissect.configure do |config|
241
- config.let_stats_enabled = false
144
+ ```ruby
145
+ TestProf::BeforeAll.configure do |config|
146
+ config.before(:begin) do
147
+ # do something before transaction opens
242
148
  end
243
- ```
244
-
245
- - [Fix [#80](https://github.com/palkan/test-prof/issues/80)] Added ability to preserve traits. ([@Vasfed][])
246
-
247
- Disabled by default for compatibility. Enable globally by `FactoryDefault.preserve_traits = true` or for single `create_default`: `create_default(:user, preserve_traits: true)`
248
-
249
- When enabled - default object will be used only when there's no [traits](https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#traits) in association.
250
-
251
- - Add ability to run only `let` or `before` profiler with RSpecDissect. ([@palkan][])
252
-
253
- - Collect _raw_ data with StackProf by default. ([@palkan][])
254
-
255
- - Refactor `:with_clean_fixture` to clean data once per group. ([@palkan][])
256
-
257
- - [Fix [#75](https://github.com/palkan/test-prof/issues/75)] Fix `RSpec/Aggregate` failures with non-regular examples. ([@palkan][])
258
149
 
259
- Do not take into account `xit`, `pending`, `its`, etc. examples,
260
- only consider regular `it`, `specify`, `scenario`, `example`.
261
-
262
- ## 0.5.0 (2018-04-25)
263
-
264
- ### Features
265
-
266
- - Add events support to TagProf. ([@palkan][])
267
-
268
- Example usage:
269
-
270
- ```sh
271
- TAG_PROF=type TAG_PROF_EVENT=sql.active_record rspec
272
- ```
273
-
274
- [📝 Docs](https://test-prof.evilmartians.io/#/tag_prof?id=profiling-events)
275
-
276
- - Add logging helpers for Rails. ([@palkan][])
277
-
278
- Enable verbose logging globally:
279
-
280
- ```sh
281
- LOG=all rspec
282
- ```
283
-
284
- Or per example (group):
285
-
286
- ```ruby
287
- it "does smth weird", :log do
288
- # ...
150
+ config.after(:rollback) do
151
+ # do something after transaction closes
289
152
  end
290
- ```
291
-
292
- [📝 Docs](https://test-prof.evilmartians.io/#/logging)
153
+ end
154
+ ```
293
155
 
294
- - Add HTML report for `TagProf`. ([@palkan][])
295
-
296
- Generate HTML report by setting `TAG_PROF_FORMAT` to `html`.
297
-
298
- - Add ability to track multiple events at the same time with `EventProf`. ([@palkan][])
299
-
300
- - Add `AnyFixture` DSL. ([@palkan][])
301
-
302
- Example:
303
-
304
- ```ruby
305
- # Enable DSL
306
- using TestProf::AnyFixture::DSL
307
-
308
- # and then you can use `fixture` method (which is just an alias for `TestProf::AnyFixture.register`)
309
- before(:all) { fixture(:account) }
310
-
311
- # You can also use it to fetch the record (instead of storing it in instance variable)
312
- let(:account) { fixture(:account) }
313
- ```
314
-
315
- [📝 Docs](https://test-prof.evilmartians.io/#/any_fixture?id=dsl)
316
-
317
- - Add `AnyFixture` usage report. ([@palkan][])
318
-
319
- Enable `AnyFixture` usage reporting with `ANYFIXTURE_REPORTING=1` or with:
320
-
321
- ```ruby
322
- TestProf::AnyFixture.reporting_enabled = true
323
- ```
324
-
325
- [📝 Docs](https://test-prof.evilmartians.io/#/any_fixture?id=usage-report)
326
-
327
- - Add `ActiveRecordSharedConnection` recipe. ([@palkan][])
328
-
329
- Force ActiveRecord to use the same connection between threads (to avoid database cleaning in browser tests).
330
-
331
- [📝 Docs](https://test-prof.evilmartians.io/#/active_record_shared_connection)
332
-
333
- - [#70](https://github.com/palkan/test-prof/pull/70) Add `FactoryAllStub` recipe. ([@palkan][])
334
-
335
- [📝 Docs](https://test-prof.evilmartians.io/#/factory_all_stub)
336
-
337
- - Add `ActiveRecordRefind` refinement. ([@palkan][])
338
-
339
- [📝 Docs](https://test-prof.evilmartians.io/#/any_fixture?id=activerecordrefind)
340
-
341
- ### Fixes & Improvements
342
-
343
- - **Brand new documentatation website: https://test-prof.evilmartians.io/**
344
-
345
- - Disable referential integrity when cleaning AnyFixture. ([@palkan][])
346
-
347
-
348
- ## 0.4.9 (2018-03-20)
349
-
350
- - [Fix [#64](https://github.com/palkan/test-prof/issues/64)] Fix dependencies requiring for FactoryDefault. ([@palkan][])
351
-
352
- - [Fix [#60](https://github.com/palkan/test-prof/issues/60)] Fix RSpecDissect reporter hooks. ([@palkan][])
353
-
354
- Consider only `example_failed` and `example_passed` to ensure that the `run_time`
355
- is available.
356
-
357
- ## 0.4.8 (2018-01-17)
358
-
359
- - Add `minitest` 5.11 support. ([@palkan][])
360
-
361
- - Fix `spring` detection. ([@palkan][])
362
-
363
- Some `spring`-related gems do not check whether Spring is running and load
364
- Spring modules. Thus we have `Spring` defined (and even `Spring.after_fork` defined) but no-op.
365
-
366
- Now we require that `Spring::Applcation` is defined in order to rely on Spring.
367
-
368
- Possibly fixes [#47](https://github.com/palkan/test-prof/issues/47).
369
-
370
- ## 0.4.7 (2017-12-25)
371
-
372
- - [#57](https://github.com/palkan/test-prof/pull/57) Fix RubyProf Printers Support ([@rabotyaga][])
373
-
374
- ## 0.4.6 (2017-12-17)
375
-
376
- - Upgrade RSpec/AggregateFailures to RuboCop 0.52.0. ([@palkan][])
377
-
378
- RuboCop < 0.51.0 is not supported anymore.
379
-
380
- - [Fixes [#49](https://github.com/palkan/test-prof/issues/49)] Correctly detect RSpec version in `let_it_be`. ([@desoleary][])
381
-
382
- ## 0.4.5 (2017-12-09)
383
-
384
- - Fix circular require in `lib/factory_doctor/minitest`. ([@palkan][])
385
-
386
- ## 0.4.4 (2017-11-08)
387
-
388
- - [Fixes [#48](https://github.com/palkan/test-prof/issues/48)] Respect RubyProf reports files extensions. ([@palkan][])
389
-
390
- ## 0.4.3 (2017-10-26)
391
-
392
- - [#46](https://github.com/palkan/test-prof/pull/46) Support FactoryBot, which is [former FactoryGirl](https://github.com/thoughtbot/factory_bot/pull/1051),
393
- while maintaining compatibility with latter. ([@Shkrt][])
394
-
395
- ## 0.4.2 (2017-10-23)
396
-
397
- - Fix bug with multiple `before_all` within one group. ([@palkan][])
398
-
399
- ## 0.4.1 (2017-10-18)
400
-
401
- - [#44](https://github.com/palkan/test-prof/pull/44) Support older versions of RSpec. ([@palkan][])
402
-
403
- Support RSpec 3.1.0+ in general.
404
-
405
- `let_it_be` supports only RSpec 3.3.0+.
406
-
407
- RSpecDissect `let` tracking supports only RSpec 3.3.0+.
408
-
409
- - [#38](https://github.com/palkan/test-prof/pull/38) Factory Doctor Minitest integration. ([@IDolgirev][])
410
-
411
- It is possible now to use Factory Doctor with Minitest
412
-
413
- ## 0.4.0 (2017-10-03)
414
-
415
- ### Features:
416
-
417
- - [#29](https://github.com/palkan/test-prof/pull/29) EventProf Minitest integration. ([@IDolgirev][])
418
-
419
- It is possible now to use Event Prof with Minitest
420
-
421
- - [#30](https://github.com/palkan/test-prof/pull/30) Fabrication support for FactoryProf. ([@Shkrt][])
422
-
423
- FactoryProf now also accounts objects created by Fabrication gem (in addition to FactoryGirl)
424
-
425
- ## 0.3.0 (2017-09-21)
426
-
427
- ### Features:
428
-
429
- - Combine RSpecStamp with FactoryDoctor. ([@palkan][])
430
-
431
- Automatically mark _bad_ examples with custom tags.
432
-
433
- - [#17](https://github.com/palkan/test-prof/pull/17) Combine RSpecStamp with EventProf and RSpecDissect. ([@palkan][])
434
-
435
- It is possible now to automatically mark _slow_ examples and groups with custom tags. For example:
436
-
437
- ```sh
438
- $ EVENT_PROF="sql.active_record" EVENT_PROF_STAMP="slow:sql" rspec ...
439
- ```
440
-
441
- After running the command above the top 5 slowest example groups would be marked with `slow: :sql` tag.
442
-
443
- - [#14](https://github.com/palkan/test-prof/pull/14) RSpecDissect profiler. ([@palkan][])
444
-
445
- RSpecDissect tracks how much time do you spend in `before` hooks and memoization helpers (i.e. `let`) in your tests.
446
-
447
- - [#13](https://github.com/palkan/test-prof/pull/13) RSpec `let_it_be` method. ([@palkan][])
448
-
449
- Just like `let`, but persist the result for the whole group (i.e. `let` + `before_all`).
450
-
451
- ### Improvements:
452
-
453
- - Add ability to specify RubyProf report through `TEST_RUBY_PROF` env variable. ([@palkan][])
454
-
455
- - Add ability to specify StackProf raw mode through `TEST_STACK_PROF` env variable. ([@palkan][])
456
-
457
- ### Changes
458
-
459
- - Use RubyProf `FlatPrinter` by default (was `CallStackPrinter`). ([@palkan][])
460
-
461
- ## 0.2.5 (2017-08-30)
462
-
463
- - [#16](https://github.com/palkan/test-prof/pull/16) Support Ruby >= 2.2.0 (was >= 2.3.0). ([@palkan][])
464
-
465
- ## 0.2.4 (2017-08-29)
466
-
467
- - EventProf: Fix regression bug with examples profiling. ([@palkan][])
468
-
469
- There was a bug when an event occurs before the example has started (e.g. in `before(:context)` hook).
470
-
471
- ## 0.2.3 (2017-08-28)
472
-
473
- - Minor improvements. ([@palkan][])
474
-
475
- ## 0.2.2 (2017-08-23)
476
-
477
- - Fix time calculation when Time class is monkey-patched. ([@palkan][])
478
-
479
- Add `TestProf.now` method which is just a copy of original `Time.now` and use it everywhere.
480
-
481
- Fixes [#10](https://github.com/palkan/test-prof/issues/10).
482
-
483
- ## 0.2.1 (2017-08-19)
484
-
485
- - Detect `RSpec` by checking the presence of `RSpec::Core`. ([@palkan][])
486
-
487
- Fixes [#8](https://github.com/palkan/test-prof/issues/8).
488
-
489
- ## 0.2.0 (2017-08-18)
490
-
491
- - Ensure output directory exists. ([@danielwestendorf][])
492
-
493
- **Change default output dir** to "tmp/test_prof".
494
-
495
- Rename `#artefact_path` to `#artifact_path` to be more US-like
496
-
497
- Ensure output dir exists in `#artifact_path` method.
498
-
499
- - FactoryDoctor: print success message when no bad examples found. ([@palkan][])
500
-
501
- ## 0.1.1 (2017-08-17)
156
+ - Add ability to use `let_it_be` aliases with predefined options. ([@danielwaterworth][])
502
157
 
503
- - AnyFixture: clean tables in reverse order to not fail when foreign keys exist. ([@marshall-lee][])
158
+ ```ruby
159
+ TestProf::LetItBe.configure do |config|
160
+ config.alias_to :let_it_be_with_refind, refind: true
161
+ end
162
+ ```
504
163
 
505
- ## 0.1.0 (2017-08-15)
164
+ - Made FactoryProf measure and report on timing ([@danielwaterworth][])
506
165
 
507
- - Initial version. ([@palkan][])
166
+ See [changelog](https://github.com/test-prof/test-prof/blob/v0.8.0/CHANGELOG.md) for versions <0.9.0.
508
167
 
509
168
  [@palkan]: https://github.com/palkan
510
169
  [@marshall-lee]: https://github.com/marshall-lee
@@ -522,3 +181,7 @@ Fixes [#10](https://github.com/palkan/test-prof/issues/10).
522
181
  [@tyleriguchi]: https://github.com/tyleriguchi
523
182
  [@lostie]: https://github.com/lostie
524
183
  [@pirj]: https://github.com/pirj
184
+ [@LynxEyes]: https://github.com/LynxEyes
185
+ [@stefkin]: https://github.com/stefkin
186
+ [@jaimerson]: https://github.com/jaimerson
187
+ [@alexvko]: https://github.com/alexvko