test-prof 0.11.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
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