Skip to content

Commit 0e1782f

Browse files
authored
Fix autoloading of test base classes (#60)
* Run analyse against dynamic_page_cache * Tests should test Test.php, fix autoloading * Adjust test namespacing registration * Specify check to fail if autoloading message exists
1 parent 643215d commit 0e1782f

File tree

4 files changed

+8
-12
lines changed

4 files changed

+8
-12
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ script:
2323

2424
# Test that a known non-failing file doesn't error out.
2525
- ./vendor/bin/phpstan analyze web/core/install.php --debug
26+
- ./vendor/bin/phpstan analyze web/core/modules/dynamic_page_cache | grep -q "Class Drupal\Tests\BrowserTestBase not found and could not be autoloaded." && false || true
27+
2628
# Verify test fixtures are ignored.
2729
- ./vendor/bin/phpstan analyze web/core/modules/migrate_drupal --no-progress | grep -q "tests/fixtures" && false || true
2830

src/Drupal/Bootstrap.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,12 @@ protected function addCoreNamespaces(): void
145145
}
146146

147147
// Add core test namespaces.
148-
$core_tests_dir = $this->drupalRoot . '/core/tests';
149-
$this->autoloader->add('Drupal\\Tests', $core_tests_dir);
150-
$this->autoloader->add('Drupal\\TestSite', $core_tests_dir);
151-
$this->autoloader->add('Drupal\\KernelTests', $core_tests_dir);
152-
$this->autoloader->add('Drupal\\FunctionalTests', $core_tests_dir);
153-
$this->autoloader->add('Drupal\\FunctionalJavascriptTests', $core_tests_dir);
148+
$core_tests_dir = $this->drupalRoot . '/core/tests/Drupal';
149+
$this->namespaces['Drupal\\Tests'] = $core_tests_dir . '/Tests';
150+
$this->namespaces['Drupal\\TestSite'] = $core_tests_dir . '/TestSite';
151+
$this->namespaces['Drupal\\KernelTests'] = $core_tests_dir . '/KernelTests';
152+
$this->namespaces['Drupal\\FunctionalTests'] = $core_tests_dir . '/FunctionalTests';
153+
$this->namespaces['Drupal\\FunctionalJavascriptTests'] = $core_tests_dir . '/FunctionalJavascriptTests';
154154
}
155155
protected function addModuleNamespaces(): void
156156
{
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
parameters:
2-
excludes_analyse:
3-
- *Test.php
4-
- *TestBase.php
52
level: 0
63
includes:
74
- vendor/mglaman/phpstan-drupal/extension.neon

tests/fixtures/config/phpunit-drupal-phpstan.neon

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
parameters:
2-
excludes_analyse:
3-
- *Test.php
4-
- *TestBase.php
52
level: 7
63
drupal:
74
drupal_root: %currentWorkingDirectory%

0 commit comments

Comments
 (0)