zoukankan      html  css  js  c++  java
  • phpstorm配置phpunit进行单元测试

    1、配置单元测试目录:

    (1)autoload.php

    <?php
    function autoloader($dir){
        spl_autoload_register(function($name) use ($dir){
            $name = str_replace('\',DIRECTORY_SEPARATOR,$name);
            require $dir.DIRECTORY_SEPARATOR.$name.'.php';
        });
    }
    define('ROOT',__DIR__);
    autoloader(ROOT);

    (2)Money.php

    <?php
    class Money
    {
        private $amount;
        public function __construct($amount)
        {
            $this->amount = $amount;
        }
        public function getAmount()
        {
            return $this->amount;
        }
        public function negate()
        {
            return new Money(-1*$this->amount);
        }
    }

    (3)MoneyTest.php

    <?php
    
    use PHPUnitFrameworkTestCase;
    
    class MoneyTest extends TestCase
    {
        public function testCanBeNegated()
        {
            $a = new Money(1);
            $b = $a->negate();
            $this->assertEquals(-1, $b->getAmount());
        }
    }

    2、配置测试框架

    3、建立单元测试模板:

    4、运行测试:

    5、测试结果

     6、phpunit中相关的几个断言:

    AssertTrue/AssertFalse    断言是否为真值还是假
    AssertEquals        判断输出是否和预期的相等
    AssertGreaterThan         断言结果是否大于某个值,同样的也有LessThan(小于),GreaterThanOrEqual(大于等于),
    LessThanOrEqual           (小于等于).
    AssertContains            判断输入是否包含指定的值
    AssertType                判断是否属于指定类型
    AssertNull                判断是否为空值
    AssertFileExists          判断文件是否存在
    AssertRegExp              根据正则表达式判断

    7、注意事项

    (1)测试用例要引入phpunit

       use PHPUnitFrameworkTestCase;

    (2)测试类要继承TestCase

       class MoneyTest extends TestCase

    参考:https://blog.51cto.com/12173069/2317104
  • 相关阅读:
    java任务调度之Timer定时器
    springboot 启动的时候报java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext
    Spring 体系结构
    为什么MySQL数据库要用B+树存储索引?
    Nginx反向代理服务器的安装与配置
    详细的最新版fastdfs单机版搭建
    FastDFS 分布式文件系统(部署和运维)
    linux
    Spring Cloud底层原理
    Spring中ioc的实现原理
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/11032022.html
Copyright © 2011-2022 走看看