很多站长朋友们都不太清楚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 测试的详细内容...