Ich probiere die in Drupal 8 integrierte testgetriebene Entwicklungsmethode aus, stoße jedoch auf ein Problem.
Beim Versuch, ./core/vendor/bin/phpunit --list-groups ./modules/
in meinem CLI ausgeführt zu werden , werden folgende Fehler angezeigt:
Schwerwiegender PHP-Fehler: Die Klasse 'Drupal \ Tests \ UnitTestCase' wurde in Zeile 10 nicht unter / Applications / MAMP / htdocs / drupal / modules / custom_cookie_compliance / tests / CustomCookieComplianceTest.php gefunden
Schwerwiegender Fehler: Die Klasse 'Drupal \ Tests \ UnitTestCase' wurde in Zeile 10 nicht unter / Applications / MAMP / htdocs / drupal / modules / custom_cookie_compliance / tests / CustomCookieComplianceTest.php gefunden
Ich habe in meinem Modulordner einen Modulordner mit dem Namen custom_cookie_compliance erstellt. Im Gegenzug habe ich eine custom_cookie_compliance.info.yml-Datei, die Folgendes enthält.
name: Custom Cookie Compliance
description: Displays a cookie compliance information window at the top of the website.
core: 8.x
type: module
Ich habe auch einen Test Ordner einen enthielt src Ordner , die dann eine CustomCookieComplianceTest.php - Datei mit dem folgenden Code enthält.
<?php
namespace Drupal\custom_cookie_compliance\Tests;
use Drupal\Tests\UnitTestCase;
/**
* @group cookie
*/
class CustomCookieComplianceTest extends UnitTestCase {
public function testSetCookies() {
if (!isset($cookie_set)) {
$cookie_set = TRUE;
}
$this->assertTrue($cookie_set);
}
}
Ich habe den Code anhand dieser Anleitung geschrieben .
Ich verstehe, dass es die UnitTestCase
Klasse nicht finden kann , aber der Leitfaden sagt, dass dies funktionieren sollte. Warum also nicht?
Ich bin heute auf dasselbe Problem gestoßen und habe festgestellt, dass ich eine ältere Version von PHP Unit verwendet habe. Nach dem Upgrade auf den neuesten Stand funktionierten die Tests.
quelle