MediaWikiIntegrationTestCase overrides TestCase::run to do some class-level setup (and corresponding teardown). This is a huge hack and will no longer be possible in PHPUnit 10, which makes TestCase::run final. The code should really run in before(Class)/after(Class) hooks. The problem is, *Class methods would have to be static, but the current implementation uses a lot of non-static code.
Another issue with the current implementation is that it doesn't seem to work with paratest, because if an exception is thrown in the setup phase, the TestResult object will have 1 error and 0 tests, which fails an assertion in paratest.