好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php单元测试怎么写 php 测试

很多站长朋友们都不太清楚php单元测试怎么写,今天小编就来给大家整理php单元测试怎么写,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 thinkphp怎么用phpunit写测试用例 2、 thinkphp5 怎么使用单元测试 3、 如何 进行 PHP 简单 测试 4、 php官方为什么不推荐使用单元测试如phpunit或simpletest thinkphp怎么用phpunit写测试用例

测试用例

本例中,根目录的index.php的配置如下:

<?php    

define('APP_NAME', 'example');    

define('APP_PATH', 'example/');    

define('APP_PHPUNIT', false);    

define('APP_DEBUG', true);    

require('ThinkPHP/ThinkPHP.php');    

?>

首次访问之后,生成以下目录结构:

在example站点中新建文件夹,命名为“Testcase”。

测试Model

创建HelloModel.class.php:

<?php    

     

class HelloModel extends Model    

{    

    public function sayHello()    

    {    

        print 'Hello';    

        return 'Hello';    

    }    

}

在Test文件夹中新建Test.php文件作为PHPUnit,其中注意require ThinkPHP作为初始化框架环境,另外在Think.class.php中,修改

start()函数中,App::run()为 !APP_PHPUNIT App::run();

该区分站点运行与测试用例。

<?php    

define('APP_NAME', 'example');    

define('APP_PATH', './example/');    

define('APP_PHPUNIT', true);    

require('./ThinkPHP/ThinkPHP.php');    

class TestSayHello extends PHPUnit_Framework_TestCase {    

     

    public function setUp() { }    

     

    public function tearDown(){ }    

     

}

在TestSayHello中加入测试用例:

public function testHelloModel()    

{    

    $hello = D('Hello');    

    $this->assertTrue( $hello->sayHello('Hello') == 'Hello');    

}

测试Action

修改IndexAction.class.php如下:

<?php    

class IndexAction extends Action    

{    

    public function index()    

    {    

        $hello = D("Hello");    

        return $hello->sayHello();    

    }    

}

浏览器访问Index效果:

在TestSayHello中加入测试用例:

public function  testHelloAction()    

{    

    $hello = new IndexAction();    

    $this->assertTrue($hello->index() == 'Hello');    

}

运行效果

运行Test.php效果如下:

Test通过,至此给ThinkPHP加上了单元测试。

thinkphp5 怎么使用单元测试

首先安装ThinkPHP5的单元测试扩展,进入命令行,切换到tp5的应用根目录下面,执行(当然你要安装了composer):

composer require topthink/think-testing

官方的5.0版本的扩展库版本号都是1.*,2.0版本均为ThinkPHP5.1版本专用。

由于单元测试扩展的依赖较多,因此安装过程会比较久,请耐心等待。

安装完成后,会在应用根目录下面增加tests目录和phpunit.xml文件。

默认带了一个tests/ExampleTest.php单元测试文件,我们可以直接在命令行下面运行单元测试:

php think unit

请始终使用以上命令进行单元测试,而不是直接用phpunit来运行单元测试。

添加单元测试文件

我们来添加一个新的单元测试文件,单元测试文件为tests/IndexTest.php,内容如下:

<?php

use tests\TestCase;class IndexTest extends TestCase{

public function testSomethingIsTrue()

{

$this->assertTrue(true);

}

}

注意,单元测试文件中定义的测试类如果不存在冲突,可以不需要使用命名空间。

如何 进行 PHP 简单 测试

其实我们每天都在做单元测试。你写了一个函数,除了极简单的外,总是要执行一下,看看功能是否正常,有时还要想办法输出些数据,如弹出信息窗口什么的,这,也是单元测试,把这种单元测试称为临时单元测试。

楼上的这些工具太复杂了。

我认为,老师要求的,实际上就是要求每个功能单元都能够带入数据进行验证。报告只要把验证过程写清楚就OK了。

php官方为什么不推荐使用单元测试如phpunit或simpletest

在PHP领域,单元测试的工具主要有 PHPUNIT,PHPUNIT2和SimpleTest三种。

其中PHPUNIT在功能上很简单,不算完善;

PHPUNIT2是专门为PHP5写的单元 测试工具,在结构和功能上都向Junit看齐;

而SimpleTest则是一套非常实用的测试工具,其中的webTest支持对web程序界面的测试,是 Easy最为推荐的一款测试工具。在本文中,我们选择SimpleTest进行介绍。

相关知识:PHPUNIT2也是一款很好的工具,尤其是架构上有很多值得圈点之处,希望将来能有机会在专门的文章中和大家分享。

SimpleTest:就是这么Simple安装SimpleTest很简单,上sf.net上下载一个源码包,然后解压到web目录下就可以使用了,这里就不多说。

关于php单元测试怎么写的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php单元测试怎么写 php 测试的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did197416
更新时间:2023-04-26   阅读:30次

上一篇: php请先登录 php登录界面

下一篇:php源码企业 php源码使用教程

最新资料更新

  • 1.php开发宝典 php7开发宝典pdf下载
  • 2.php代码太长换行 php换行符号
  • 3.php视频太大怎么传输 php上传视频压缩
  • 4.php设备判断在线 php判断用户在线状态
  • 5.PHP中嵌入script php嵌入html有哪几种方法
  • 6.php中if应用 php中if语句
  • 7.php中数据汇总 php数据统计
  • 8.phpapp页面 php app
  • 9.nginx分离部署php nginx分发请求
  • 10.php版本越高越好吗 php各版本性能对比
  • 11.关于winformphp的信息
  • 12.php数据分数排序 php实现积分排行榜
  • 13.php登录网站 php网页登录
  • 14.php在线做点兼职 php在线做点兼职是真的吗
  • 15.无法下载file.php 无法下载filedownload
  • 16.phpcurl解析失败 php在html中无法解析
  • 17.iconv函数php iconv函数参数
  • 18.php瀑布流响应 html 瀑布流
  • 19.php版本怎么更新 php版本升级
  • 20.php判断字符串的编码 php 判断字符串是否存在某个字符串

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]