Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-55609

Assignment test rewrite

    XMLWordPrintable

Details

    Description

      The assignment tests are full of needless bloat.

      It appears that all assignment tests extend base, which has a ridonculous setUp which is not used in a great number of the tests. It's also creating a course, 7 users, and 6 groups, and requiring resetAfterTest() on each test. None of the above are cheap.

      The time taken for my machine to run the full suite is ~ 15 minutes; and 2 minutes of that is just on mod_assign.

      With the amount of setUp here, I suspect that we can probably halve time used for mod_assign.
      I also suspect that many of them aren't actual unit tests, but behavioural.

      2037 sm:MDL-54872-master> ./vendor/bin/phpunit --testsuite mod_assign_testsuite
      Moodle 3.2dev (Build: 20160817), 77350889716365104f5425e79cd2ef1e4e1e7e82
      Php: 7.0.6, pgsql: 9.4beta3, OS: Darwin 15.5.0 x86_64
      PHPUnit 5.4.8 by Sebastian Bergmann and contributors.
       
      ...............................................................  63 / 145 ( 43%)
      ............................................................... 126 / 145 ( 86%)
      ...................                                             145 / 145 (100%)
       
      Time: 2.17 minutes, Memory: 112.30MB
       
      OK (145 tests, 811 assertions)
      

      That's approx 1 second per test. Many of those tests simply do not need that setup.

      Attachments

        Issue Links

          Activity

            People

              dobedobedoh Andrew Lyons
              dobedobedoh Andrew Lyons
              David Monllaó David Monllaó
              CiBoT CiBoT
              Adrian Greeve, Ilya Tregubov, Kevin Percy, Mathew May, Mihail Geshoski, Shamim Rezaie
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                9/Jul/18