phpunit api PHPUnit_Extensions_OutputTestCase

PHPUnit_Extensions_OutputTestCase 断言方法如下

1 void expectOutputRegex(string $regularExpression)设定期望值为输出匹配$regularExpression。

2 void expectOutputString(string $expectedString)设定期望值为输出同$expectedString一样

3 bool setOutputCallback(callable $callback) 设定回调方法,例如用于规格化实际输出。

4 这个扩展应该在做action 测试时应该很有用

<?php 
// 测试输出MyOutputTestCase.php

function hanshu($str){
    $match = "/^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/";
    return preg_match($match,$str); 
}
class MyOutputTestCase extends PHPUnit_Extensions_OutputTestCase {  

    public function testExpectFooActualFoo()
    {
        $this->expectOutputString('foo');
        print 'foo';
    }
 
    public function testExpectBarActualBaz()
    {
        $this->expectOutputString('bar');
        print 'baz';
    }


    public function testExpectEmail()
    {
        $this->expectOutputRegex('/^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/');
        print 'admin@163.com';
    }
    public function testExpectEmailNo()
    {
        $this->expectOutputRegex('/^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/');
        print '12537838383';
    }


    public function testExpectCallbackEmail()
    {


        $this->setOutputCallback("hanshu");
        //print 'admin@163.com';
    }
    public function testExpectCallbackEmailNo()
    {

        $this->setOutputCallback("hanshu");
        //print '12537838383';
    }

?>

注意:   一开开始测试setOutputCallback 老是返回true 结果,但是安装了DbUnit 后 就正常了,也不知道什么原因

<?php 
// 测试套件TestSuite.php
require_once 'PHPUnit/Autoload.php'; 
class MyTestSuite extends PHPUnit_Framework_TestSuite {  

// SetUp方法是在每个测试用例运行前进行一些初始化的工作,比如创建业务对象,让其他测试方法也可以使用业务对象,或数据库连接对象
        protected function setUp(){  
            $this->data= "somesthing";

        }  
  //tearDown则在每个测试用例运行后进行一些比如资源的释放等工作的工作
        protected function tearDown(){  
//$this->sharedFixture= null;
        } 
       //注意此处设置为static  
        public static function suite() {  
                $suite = new self();
$suite->addTestFile("MyTestCase.php");
                $suite->addTestFile("MyOutputTestCase.php");
return $suite;
        }  

?>


执行phpunit TestSuite.php


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PhalApi 2.x 是一个轻量级的 PHP 开发框架,它提供了一些便捷的工具和功能,方便我们进行开发。在进行开发过程中,我们需要编写一些单元测试和浏览器测试,以确保代码的正确性和稳定性。 1. 单元测试 PhalApi 2.x 的单元测试使用 PHPUnit 进行测试PHPUnit 是一个流行的 PHP 单元测试框架,它提供了一些便捷的工具和功能,方便我们进行单元测试。 编写单元测试的过程如下: 1)创建测试类 在 tests 目录下创建一个测试类,继承 \PHPUnit\Framework\TestCase 类,并在类中编写测试方法。例如: ```php use PHPUnit\Framework\TestCase; class DemoTest extends TestCase { public function testDemo() { // 测试代码 } } ``` 2)运行测试 在命令行中执行以下命令即可运行测试: ```bash ./vendor/bin/phpunit tests/DemoTest.php ``` 2. 浏览器测试 PhalApi 2.x 的浏览器测试使用 Selenium 进行测试,Selenium 是一个流行的浏览器自动化测试工具,它提供了一些便捷的工具和功能,方便我们进行浏览器测试。 编写浏览器测试的过程如下: 1)安装 Selenium 在命令行中执行以下命令安装 Selenium: ```bash composer require --dev phpunit/phpunit-selenium ``` 2)编写测试类 在 tests 目录下创建一个测试类,继承 \PHPUnit_Extensions_Selenium2TestCase 类,并在类中编写测试方法。例如: ```php use PHPUnit_Extensions_Selenium2TestCase; class DemoBrowserTest extends PHPUnit_Extensions_Selenium2TestCase { protected function setUp() { $this->setBrowser('firefox'); $this->setBrowserUrl('http://localhost/'); } public function testDemo() { $this->url('/'); $this->assertEquals('Demo', $this->title()); } } ``` 3)运行测试 在命令行中执行以下命令即可运行测试: ```bash ./vendor/bin/phpunit tests/DemoBrowserTest.php ``` 以上就是 PhalApi 2.x 的单元测试和浏览器测试的简单介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值