Chris@18: drupalLogin($this->createUser(['administer unit tests'])); Chris@18: } Chris@18: Chris@18: /** Chris@18: * Tests that unit, kernel, and functional tests work through the UI. Chris@18: */ Chris@18: public function testTestingThroughUI() { Chris@18: $url = Url::fromRoute('simpletest.test_form'); Chris@18: $assertion = $this->assertSession(); Chris@18: Chris@18: $this->drupalGet($url); Chris@18: $settings = $this->getDrupalSettings(); Chris@18: $this->assertTrue(strpos($settings['simpleTest']['images'][0], 'core/misc/menu-collapsed.png') > 0, 'drupalSettings contains a link to core/misc/menu-collapsed.png.'); Chris@18: Chris@18: // We can not test WebTestBase tests here since they require a valid .htkey Chris@18: // to be created. However this scenario is covered by the testception of Chris@18: // \Drupal\simpletest\Tests\SimpleTestTest. Chris@18: $tests = [ Chris@18: // A KernelTestBase test. Chris@18: KernelTestBaseTest::class, Chris@18: // A PHPUnit unit test. Chris@18: ActionLocalTasksTest::class, Chris@18: // A PHPUnit functional test. Chris@18: ThroughUITest::class, Chris@18: ]; Chris@18: Chris@18: foreach ($tests as $test) { Chris@18: $edit = [ Chris@18: "tests[$test]" => TRUE, Chris@18: ]; Chris@18: $this->drupalPostForm($url, $edit, t('Run tests')); Chris@18: $assertion->pageTextContains('0 fails, 0 exceptions'); Chris@18: } Chris@18: } Chris@18: Chris@18: }