Erweiterung und Anpassung des PHP-Unit-Testing-Frameworks
Durch die Erweiterung und Anpassung des PHPUnit-Frameworks können Sie das Problem lösen, dass das ursprüngliche Framework Ihre Anforderungen nicht erfüllen kann. Im Hinblick auf die Erweiterung umfasst es benutzerdefinierte Assertionen, Matcher und DataProvider; im Hinblick auf die Anpassung umfasst es das Erstellen benutzerdefinierter Läufer und das Überschreiben von Bootstrapper. In praktischen Anwendungen können erweiterte Assertionen Sonderzeichen überprüfen, benutzerdefinierte Matcher können Listenelemente überprüfen und das Überschreiben von Bootstrapper kann das Ausführungszeitlimit erhöhen.
Erweiterung und Anpassung des PHP-Unit-Testing-Frameworks
Unit-Tests können die Codequalität erheblich verbessern, aber das native Framework erfüllt möglicherweise nicht alle Anforderungen. Durch Erweitern und Anpassen des Frameworks wird dieses Problem gelöst.
Erweiterungsmethoden
1. Benutzerdefinierte Behauptungen
PHPUnit bietet Behauptungsmethoden, aber manchmal sind benutzerdefinierte Behauptungen erforderlich. Erstellen Sie eine neue Assertionsmethode mit der Klasse Assert
: Assert
类创建新的断言方法:
class CustomAssertions extends PHPUnit_Framework_Assert { public static function assertTrueWithMessage($condition, string $message) { self::assertTrue($condition, $message); } }
2. 自定义 Matcher
Matcher 验证值是否符合特定条件。使用 prophesize
库创建自定义 Matcher:
class CustomMatcher { public function isEven($value) { return $value % 2 == 0; } } $propecy = $prophesize(new CustomMatcher()); $propecy->isEven(6)->shouldBeTrue();
3. 实现 DataProvider
DataProvider 为测试数据提供自定义来源。使用 PHPUnit_Extensions_DataProvider_ArrayDataProvider
创建自定义 DataProvider:
class CustomDataProvider { public static function provideData() { return [ ['foo', 'bar'], ['baz', 'qux'] ]; } } $dataProvider = new PHPUnit_Extensions_DataProvider_ArrayDataProvider(CustomDataProvider::provideData());
定制框架
1. 创建自定义运行器
运行器负责执行测试。使用 PHPUnit_Framework_TestSuite_DataProvider
创建自定义运行器:
class CustomTestRunner extends PHPUnit_Framework_TestSuite_DataProvider { protected function setUp(): void { // 自定义设置 } protected function tearDown(): void { // 自定义清理 } }
2. 覆盖 Bootstrapper
Bootstrapper 在测试运行之前设置测试运行环境。使用 PHPUnit_Util_Configuration
class CustomBootstrapper { public static function bootstrap() { // 自定义引导 PHPUnit_Util_Configuration::$defaultEnforceTimeLimit = 300; } } PHPUnit_Util_Configuration::$bootstrap = 'CustomBootstrapper::bootstrap';
2. Custom Matcher
Matcher überprüft, ob ein Wert bestimmte Bedingungen erfüllt. Erstellen Sie einen benutzerdefinierten Matcher mit der Bibliothekprophesize
: CustomAssertions::assertTrueWithMessage( strpos($string, "\t") !== false, "String does not contain a tab character" );
DataProvider bietet eine benutzerdefinierte Quelle für Testdaten. Verwenden Sie PHPUnit_Extensions_DataProvider_ArrayDataProvider
, um einen benutzerdefinierten DataProvider zu erstellen:
$prophesize(new CustomMatcher())->contains(['foo', 'bar'])->shouldBeTrue();
Angepasstes Framework
🎜1 Erstellen Sie einen benutzerdefinierten Runner🎜🎜🎜Der Runner ist für die Ausführung von Tests verantwortlich. Erstellen Sie einen benutzerdefinierten Läufer mitPHPUnit_Framework_TestSuite_DataProvider
: 🎜CustomBootstrapper::bootstrap();
phpunit_util_configuration
, um stootstrapper zu überschreiben: 🎜rrreee🎜🎜Practical Fall 🎜🎜🎜🎜 Erweiterte Behauptung: 🎜Verifizieren Sie das Vorhandensein von Sonderzeichen rrreee🎜🎜 Bootstrapper überschreiben: 🎜 Ausführungs-Timeout-Limit auf 300 Sekunden erhöhen: 🎜rrreeeDas obige ist der detaillierte Inhalt vonErweiterung und Anpassung des PHP-Unit-Testing-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So verwenden Sie Bootstrap, um den Wert der Suchleiste zu erhalten: Bestimmt die ID oder den Namen der Suchleiste. Verwenden Sie JavaScript, um DOM -Elemente zu erhalten. Holen Sie sich den Wert des Elements. Führen Sie die erforderlichen Maßnahmen aus.

Verwenden Sie Bootstrap, um die vertikale Zentrierung zu implementieren: FlexBox-Methode: Verwenden Sie den D-Flex, den Justify-Content-Center und die Ausrichtungsklassen aus Align-Item-Center, um Elemente in den Flexbox-Behälter zu platzieren. Methode für Ausstellungs-Iitem-Center-Klassen: Bei Browsern, die Flexbox nicht unterstützen, verwenden Sie die Klasse aus Align-items-Center-Klasse, vorausgesetzt, das übergeordnete Element hat eine definierte Höhe.

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

In PHP wird das endgültige Schlüsselwort verwendet, um zu verhindern, dass Klassen vererbt werden, und die Methoden überschrieben werden. 1) Wenn die Klasse als endgültig markiert wird, kann die Klasse nicht vererbt werden. 2) Wenn die Methode als endgültig markiert wird, kann die Methode nicht von der Unterklasse neu geschrieben werden. Durch die Verwendung von endgültigen Schlüsselwörtern wird die Stabilität und Sicherheit Ihres Codes sichergestellt.

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.
