Maison > Article > développement back-end > Explication détaillée de la méthode de test d'intégration PHPUnit du framework Yaf
Cet article présente principalement la méthode détaillée de test d'intégration PHPUnit du framework Yaf. L'éditeur pense qu'elle est assez bonne. Maintenant, je vais la partager avec vous et la donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
Cet article présente la méthode de test détaillée de l'intégration PHPUnit du framework Yaf et la partage avec tout le monde. Les détails sont les suivants :
Répertoire de test
<.>test ├── TestCase.php ├── bootstrap.php ├── controller │ ├── BaseControllerTest.php │ └── IndexControllerTest.php ├── model ├── phpunit.xml └── service └── TokenServiceTest.php
<?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>
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); date_default_timezone_set("Asia/Shanghai"); define("TEST_DIR", __DIR__);
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; } }
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']); } }
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); } }
Explication sur la résolution rapide du problème des autorisations DCOM de PHP appelant des composants Word
Explication de PHP obtenant une colonne spécifiée dans un tableau
Analyse de l'utilisation de l'interface d'accès au tableau PHP ArrayAccess
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!