温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Yaf框架PHPUnit集成测试的示例分析

发布时间:2021-08-06 09:56:32 来源:亿速云 阅读:226 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关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);   } }

关于“Yaf框架PHPUnit集成测试的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI