Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der PHPUnit-Integrationstestmethode des Yaf-Frameworks
In diesem Artikel wird hauptsächlich die detaillierte Testmethode für die PHPUnit-Integration des Yaf-Frameworks vorgestellt. Der Herausgeber findet sie recht gut, daher werde ich sie jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und werfen wir einen Blick darauf.
Dieser Artikel stellt die detaillierte Testmethode des Yaf-Frameworks PHPUnit vor und teilt sie mit allen. Die Details sind wie folgt:
Testverzeichnis
test ├── TestCase.php ├── bootstrap.php ├── controller │ ├── BaseControllerTest.php │ └── IndexControllerTest.php ├── model ├── phpunit.xml └── service └── TokenServiceTest.php
phpunit.xml
<?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.2/phpunit.xsd" extensionsDirectory="dbunit.phar" bootstrap="./bootstrap.php"> </phpunit>
bootstrap .php-Test-Framework-Eintragsdatei
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); date_default_timezone_set("Asia/Shanghai"); define("TEST_DIR", __DIR__);
TestCase.php-Testdatei-Basisklasse
namespace test; use PHPUnit\Framework\TestCase as Test; use Yaf\Application; class TestCase extends Test { protected static $_application = null; protected function setUp() { self::$_application = $this->getApplication(); parent::setUp(); } public function testAppPath() { $this->assertEquals('/Users/xiong/Sites/kyYaf', APP_PATH); } public function testApp() { $this->assertEquals(Application::app(), self::$_application); } public function testApplication() { $this->assertNotNull(self::$_application); } public function getApplication() { if (self::$_application == null) { $this->setApplication(); } return self::$_application; } public function setApplication() { $application = new Application(APP_PATH . '/conf/application.ini'); $application->bootstrap(); self::$_application = $application; } }
Beispiel für die Serviceklasse „TokenServiceTest.php“
namespace Service; use test\TestCase; include TEST_DIR . '/TestCase.php'; include APP_PATH . '/application/library/Service/BaseService.php'; include APP_PATH . '/application/library/Service/TokenService.php'; class TokenServiceTest extends TestCase { /** * @var TokenService */ protected static $tokenService; public function setUp() { self::$tokenService = TokenService::getInstance(); parent::setUp(); } public function testCreateToken() { $token = self::$tokenService->createToken('22'); $this->assertInternalType('array', $token); $this->assertInternalType('string', $token['token']); } }
Beispiel für die Controllerklasse „BaseControllerTest.php“.
namespace test\controller; include TEST_DIR .'/TestCase.php'; use test\TestCase; class BaseControllerTest extends TestCase { public function testGetConfigAction() { $request = new Simple('CLI', '', 'Index', 'getConfig'); $response = self::$_application->getDispatcher()->returnResponse(true)->dispatch($request); $contents = $response->getBody(); $data = json_decode($contents, true); $this->assertInternalType('array', $data); } }
Das Obige ist der gesamte Inhalt dieses Artikels, der für das Studium aller hilfreich sein wird, und das hoffe ich auch Jeder wird die chinesische PHP-Website unterstützen.
Erklärung, wie PHP eine bestimmte Spalte in einem Array erhält
Nutzungsanalyse der PHP-Array-Zugriffsschnittstelle ArrayAccess
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHPUnit-Integrationstestmethode des Yaf-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!