当前位置: 网站首页>小程序开发>网站开发

东海网站制作【东海网站优化】东海建网站、东海微信公众号运营、东海网页设计、东海微信小程序商城

发表日期: 2021-04-26 14:06:02 浏览次数:95

东海网站制作【东海网站优化】东海建网站、东海微信公众号运营、东海网页设计、东海微信小程序商城

东海县,隶属于江苏省连云港市,素有世界水晶之都、中国温泉之乡之称,是全国首批沿海开放县、新亚欧大陆桥西行第一县,淮海经济圈、长三角经济圈、新亚欧大陆桥经济走廊交叉辐射区。 [1] 

东海县位于江苏省东北部,地处江苏、山东两省交界处,东濒黄海,西接彭城,南依江淮,北界齐鲁;北至西北与山东省临沭县、郯城县相连,东与连云港海州区、赣榆区接壤,南与沭阳县交界,西与新沂市相依;全县总面积2037平方公里,人口124万,辖19个乡镇(场)、2个街道、1个省级经济开发区、1个省级高新区和1个省级旅游度假区。 [2] 

东海县资源丰富、特色鲜明,拥有“石、泉、湖、井、画”等五张特色名片,先后被评为全国粮食生产先进县、全国科技进步考核先进县、国家卫生县城、国家级生态县、全国文化先进县、中国观赏石(水晶)之乡、江苏省级园林城市、百湖之县、中国民间艺术之乡等美誉,先后培养出南朝诗人鲍照、现代散文家朱自清、当代版画家彦涵等历史文化名人。 [3] 

2016年11月,东海被国家旅游局评为第二批国家全域旅游示范区。2018年10月,东海县入选“综合实力百强县”、 [4]  全国投资潜力百强县市、 [5]  全国绿色发展百强县市、全国新型城镇化质量百强县市。2019年3月,被列为第一批革命文物保护利用片区分县名单。2019年7月,被列为国家知识产权强县工程示范县(区)。 [6]  2019年10月8日,被评为2019年度全国综合实力百强县市。2020中国夏季休闲百佳县市。 [7]  2020年5月,被国家发展改革委列为县城新型城镇化建设示范名单。


phalapi-buildtest命令还有一些很有趣的功能。单元测试可按照构建-执行-验证的模式来编写,所以使用phalapi-buildtest生成的骨架代码,除了会生成执行环节的代码外,还可以生成构建和验证的代码。让我们来看一些具体的示例。

继续来看一下获取商品快照信息接口服务的领域层的实现,可以看到之前的代码是这样的。

// $ vim ./Shop/Domain/Goods.php <?phpclass Domain_Goods {

    public function snapshot($goodsId) {
        $model = new Model_Goods();
        $info = $model->getSnapshot($goodsId);

        if (empty($info) || $info['goods_price'] <= 0) {
            return array();
        }

        return $info;
    }}复制代码

暂且先不关注这里具体的实现。这里需要一个没有缺省值的$goodsId参数,并且返回的是一个数组。phalapi-buildtest命令会自动识别参数列表,以及使用参数缺省值填充,但对于返回值的类型验证,则需要依据成员函数的@return注解。为此,我们可以先添加返回类型为数组的注解。

    /**
     * @return array 快照信息
     */
    public function snapshot($goodsId) {复制代码

随后,根据phalapi-buildtest命令的使用说明,为Domain_Goods生成单元测试骨架代码,并保存到对应的测试目录。这一次,让我们先进入Shop项目的Tests目录,再使用命令,因为通常情况下使用单元测试时我们都是在此目录下的。可以看到,所在目录位置对phalapi-buildtest命令的使用是不影响的。

Tests$ ../../PhalApi/phalapi-buildtest ../Domain/Goods.php Domain_Goods复制代码

籍此机会,顺便再来分解下phalapi-buildtest命令的使用过程。对于待测试的类是独立的类时,即不继承于其他类,则可以忽略第三个参数bootstrap,因为这里不需要用到框架的自动加载。同时,在保存生成的骨架代码前,可以先预览一下所生成的代码是否正确。在执行完上面这行命令后,可以看到类似这样的输出。

<?php/**
 * PhpUnderControl_DomainGoods_Test
 *
 * 针对 ../Domain/Goods.php Domain_Goods 类的PHPUnit单元测试
 *
 * @author: dogstar 20170510
 *///require_once dirname(__FILE__) . '/test_env.php';if (!class_exists('Domain_Goods')) {
    require dirname(__FILE__) . '/../Domain/Goods.php';}class PhpUnderControl_DomainGoods_Test extends PHPUnit_Framework_TestCase{
    ... ...复制代码

预览确认生成的骨架代码没问题后,再重定向保存到测试文件。

Tests$ ../../PhalApi/phalapi-buildtest ../Domain/Goods.php Domain_Goods > ./Domain/Domain_Goods_Test.php复制代码

测试文件名为待测试的类名,加上“_Test.php”后缀。保存后,记得再适当调整一下test_env.php文件的引入路径。

// Tests$ vim ./Domain/Domain_Goods_Test.phprequire_once dirname(__FILE__) . '/../test_env.php';复制代码

然后,执行一下此测试文件,可以看到是可以正常执行并通过测试的。之所以通常,是因为在找不到对应的商品信息时,默认返回空数组。

Tests$ phpunit ./Domain/Domain_Goods_Test.php 
PHPUnit 4.3.4 by Sebastian Bergmann..Time: 35 ms, Memory: 6.50MbOK (1 test, 1 assertion)复制代码

再回头看一下这里生成的骨架代码,看下最终生成了哪些构建的代码,又生成了哪些验证的代码。

// Tests$ vim ./Domain/Domain_Goods_Test.php
    public function testSnapshot()
    {
        $goodsId = '';

        $rs = $this->domainGoods->snapshot($goodsId);

        $this->assertTrue(is_array($rs));
    }复制代码

由于$goodsId参数没有缺省值,所以这里给了空字符串,一来不管参数是数值还是字符串都方便填充测试数据,二来不会导致生成的代码语法上出错。在最后,还进行了简单的断言,对Domain_Goods::snapshot($goodsId)方法返回值的类型进行了检测,判断是否为期望的数组类型。是不是觉得很有趣?你也可以亲自动手,试下参数带有缺省值的情况。

phalapi-buildtest命令除了能根据参数列表生成构建代码,根据@return注解生成类型断言代码外,还可以根据@testcase注解生成对应的测试用例代码。@testcase注解的格式是:@testcase 期望返回结果 参数1,参数2,参数3 ...,第一个是期望返回的结果,后面是提供给待测试函数的参数列表,用英文逗号分割。目前此方式适合用于参数和返回值是基本类型的场景。由于上面商品快照返回的类型是数组,非基本类型,为了演示@testcase注解的效果,让我们来看另一个示例。

假如我们现在有一个实现了加法运算的简单计算器类,并通过@testcase注解添加了两组测试用例,分别是2 = 1 + 1-5 = -10 + 5。实现代码和注释如下。

<?phpclass Calculator {
    /**
     * 求两数和
     *
     * @testcase 2 1,1
     * @testcase -5 -10,5
     * @return int
     */
    public function add($left, $right) {
        return $left + $right;
    }}复制代码

使用phalapi-buildtest命令生成骨架代码后,可以发现除了下面默认的测试用例外,还根据@testcase注解生成了两个测试用例。

    public function testAdd()
    {
        $left = '';
        $right = '';

        $rs = $this->calculator->add($left, $right);

        $this->assertTrue(is_int($rs));
    }复制代码

根据@testcase 2 1,1注释生成的测试用例是:

    public function testAddCase0()
    {
        $rs = $this->calculator->add(1,1);

        $this->assertEquals(2, $rs);
    }

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

东海网站制作东海网站优化东海建网站、东海微信公众号运营、东海网页设计、东海微信小程序商城

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878