Skip to content

Speed-up 'groups_controller_spec.rb' by using 'let_it_be'

What does this MR do and why?

35 less factory created, test file takes 11 seconds less to run.

Before

Test environment set up in 13.0365 seconds
..........[TEST PROF INFO] FactoryDoctor says: "Looks good to me!"


Finished in 27.83 seconds (files took 4 seconds to load)
10 examples, 0 failures

[TEST PROF INFO] Time spent in factories: 00:05.874 (17.97% of total time)
[TEST PROF INFO] Factories usage

 Total: 59
 Total top-level: 29
 Total time: 00:05.874 (out of 00:33.986)
 Total uniq factories: 9

   total   top-level     total time      time per call      top-level time               name

      16          10        2.5074s            0.1567s             1.8220s               user
      10          10        1.3390s            0.1339s             1.3390s              group
      10           0        0.0839s            0.0084s             0.0000s namespace_settings
      10           0        0.0644s            0.0064s             0.0000s namespace_ci_cd_settings
       4           0        0.5600s            0.1400s             0.0000s          namespace
       4           4        2.2952s            0.5738s             2.2952s            project
       2           2        0.2719s            0.1359s             0.2719s group_saml_identity
       2           2        0.1117s            0.0559s             0.1117s      saml_provider
       1           1        0.0346s            0.0346s             0.0346s            license

After

Test environment set up in 8.360882 seconds
..........[TEST PROF INFO] FactoryDoctor says: "Looks good to me!"


Finished in 16.73 seconds (files took 3.27 seconds to load)
10 examples, 0 failures

[TEST PROF INFO] Time spent in factories: 00:03.109 (14.73% of total time)
[TEST PROF INFO] Factories usage

 Total: 26
 Total top-level: 13
 Total time: 00:03.109 (out of 00:22.186)
 Total uniq factories: 9

   total   top-level     total time      time per call      top-level time               name

       9           4        1.2578s            0.1398s             0.7436s               user
       4           0        0.5217s            0.1304s             0.0000s          namespace
       4           4        1.9861s            0.4965s             1.9861s            project
       2           2        0.2393s            0.1197s             0.2393s              group
       2           0        0.0096s            0.0048s             0.0000s namespace_settings
       2           0        0.0096s            0.0048s             0.0000s namespace_ci_cd_settings
       1           1        0.0905s            0.0905s             0.0905s group_saml_identity
       1           1        0.0327s            0.0327s             0.0327s      saml_provider
       1           1        0.0170s            0.0170s             0.0170s            license

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports