• 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
  • 相关阅读:
    网页特殊符号HTML代码大全
    TypeScript在react项目中的实践
    koa源码阅读[3]-koa-send与它的衍生(static)
    微任务、宏任务与Event-Loop
    koa源码阅读[2]-koa-router
    koa源码阅读[1]-koa与koa-compose
    koa源码阅读[0]
    TypeScript在node项目中的实践
    我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
    Javascript装饰器的妙用
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/11032022.html
Copyright © 2020-2023  润新知