详解Yaf框架PHPUnit集成测试方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-25 10:43:29 浏览: 评论:0
这篇文章主要介绍了详解Yaf框架PHPUnit集成测试方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
本文介绍了详解Yaf框架PHPUnit集成测试方法,分享给大家,具体如下:
测试目录
- 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 测试框架入口文件
- define("APP_PATH", realpath(dirname(__FILE__) . '/../'));
- date_default_timezone_set("Asia/Shanghai");
- define("TEST_DIR", __DIR__);
TestCase.php 测试文件基础类
- 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;
- }
- }
TokenServiceTest.php service类例子
- 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']);
- }
- }
BaseControllerTest.php controller类例子
- 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);
- }
- }
Tags: Yaf框架 PHPUnit
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)