Improving notebook tests
What does this MR do and why?
The tests use let(:project) which makes the test suite really slow.
Screenshots or screen recordings
FPROF=1 bin/rspec spec/features/projects/commits/multi_view_diff_spec.rb spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb spec/presenters/blobs/notebook_presenter_spec.rb
Before:
Finished in 4 minutes 49.3 seconds (files took 13.29 seconds to load)
[TEST PROF INFO] Factories usage
Total: 71
Total top-level: 37
Total time: 03:14.030 (out of 04:58.276)
Total uniq factories: 3
total top-level total time time per call top-level time name
34 34 194.0047s 5.7060s 194.0047s project
34 0 4.5331s 0.1333s 0.0000s namespace
3 3 0.0261s 0.0087s 0.0261s license
After:
Finished in 1 minute 50.37 seconds (files took 16.25 seconds to load)
34 examples, 0 failures
[TEST PROF INFO] Factories usage
Total: 10
Total top-level: 7
Total time: 00:17.406 (out of 02:00.267)
Total uniq factories: 4
total top-level total time time per call top-level time name
3 3 0.0275s 0.0092s 0.0275s license
3 3 16.9970s 5.6657s 16.9970s project
3 0 0.3009s 0.1003s 0.0000s namespace
1 1 0.3822s 0.3822s 0.3822s use
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Eduardo Bonet