收藏此站 联系我们 网站
当前位置:首页» 公司新闻 » 【建站服务】扬中400电话申请开通【扬中企业网站建设】扬中微信公众号小程序开发运营价格、扬中微信公众号APP软件客户端设计运营、扬中网页页面设计公司费用、扬中公司网站制作方案流程改版维护大概需要多少钱

【建站服务】扬中400电话申请开通【扬中企业网站建设】扬中微信公众号小程序开发运营价格、扬中微信公众号APP软件客户端设计运营、扬中网页页面设计公司费用、扬中公司网站制作方案流程改版维护大概需要多少钱

作者: 风兰 . 阅读量: 4 . 发表时间:2022-09-20 15:24:46

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


扬中400电话申请开通【扬中企业网站建设】扬中微信公众号小程序开发运营价格、扬中微信公众号APP软件客户端设计运营、扬中网页页面设计公司费用、扬中公司网站制作方案流程改版维护大概需要多少钱


扬中,江苏省辖县级市,由镇江市代管。位于镇江市东部江心,黄金水道——长江中下游,苏南现代化建设示范区内,是南京都市圈成员县级城市,“北面与扬州、泰州隔江相望,南面与镇江、常州一衣带水。全市由太平洲、中心沙、西沙岛、雷公岛四个江岛组成,总面积332平方公里,其中陆地面积228平方公里。扬中城市建成区面积13.9平方公里,滨江新城规划建设面积6.8平方公里,城镇化率达64.26%。 [1]  拥有可开发深水岸线54公里。 [1]  下辖4个镇、2个街道 [2]  、扬中经开区和扬中高新区,总人口34万,在镇江发展全局中具有重要地位。

扬中产业特色鲜明,是远近闻名的“电气岛”、“光伏岛”,“长江制造业走廊”其中电气领域更是中国最大的工程电气原料市场,并被授予“中国工程电气名城”,扬中先后荣获“国家卫生城市"、“国家生态市”和“国家园林城市”,“国家环保模范城市”通过国家级考核验收。 [2]  2019年人均地区生产总值14.15万元 [3]  。连续两年列镇江市高质量发展考核一等奖第一名,位列2019年度“全国中小城市综合实力百强县(市)”第23位。 [3] 

扬中农村别墅特色鲜明,西班牙驻华参赞夫人克里斯蒂娜夫人以及摩洛哥驻华公使等28个国家的60余位驻华使节曾到此参观留念。

扬中的城市精神是“上善若水,自强不息。”

      // Step 2. 执行
        $rs = PhalApi_Helper_TestRunner::go($url, $params);复制代码

这样,便可以在服务端模拟进行一次接口的请求调度,注意这里是在服务端进行的接口请求,而不是客户端。这样的好处是可以进行白盒测试,则不是黑盒测试,从而可以得出代码测试覆盖率。

最后,是验证。在对接口返回的结果中,我们可以这样依次进行正确性的验证:先验证接口返回的格式是否正确,有无字段遗漏;再返回的业务数据是否正确。

        // Step 3. 验证
        $this->assertEquals(1, $rs['id']);
        $this->assertArrayHasKey('content', $rs);复制代码

由于测试环境的数据变动频繁,所以我们可以针对个别的接口进行更精确的验证,而对类似列表获取这样的大批量的数据,则校验其结构格式。除此之外,还有一种情况也是需要纳入检验,即除了上面的正常请求情况下的异常请求。

当获取评论的接口服务功能未具体实现时,运行此单元测试,应该是失败的,并且失败信息提示评论ID不等于期望的1。

1) PhpUnderControl_ApiComment_Test::testGetFailed asserting that null matches expected 1.复制代码

到了这一步,我们的意图已经很明确,那就是能正常获取到评论的内容并返回。

  • 4、在意图导向下完成具体功能开发,让测试通过

接下来,就是如何具体实现此获取评论的功能。假设我们的评论内容存在MySQL数据库中,同时为了方便演示下一步的重构,这里暂时先在Api层完成全部的功能开发。但请注意,再一次强调,不应该把全部的功能都塞在Api层,而是应该根据ADM分层结构进行合理的职责划分和分配。

由于需要使用到MySQL数据库,因此这里稍微做一下准备工作。首先是数据库的创建与配置,然后创建评论数据库表和添加一些测试数据。以下是相应的SQl语句。

CREATE TABLE `pa_comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '评论ID',
  `content` varchar(1024) DEFAULT '' COMMENT '评论内容',
  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `pa_comment` VALUES ('1', '欢迎使用PhalApi开源接口框架!');复制代码

准备好数据库相关的工作后,便可以使用NotORM提供的接口进行对数据库的数据获取。由于这里采用是不恰当的开发方式,需要使用全局的NotORM实例进行操作数据库,因此最初丑陋的实现代码是:

// $ vim ./Shop/Api/Comment.php
    public function get() {
        return DI()->notorm->comment->where('id', $this->id)->fetchRow();
    }复制代码

虽然丑陋,但也简单。

此时,重新执行一下单元测试,可以看到是通过的了!

Tests$ phpunit ./Api/Api_Comment_Test.php 
... ...OK (2 tests, 2 assertions)复制代码

这时,也可以通过正常正式的方式,访问此获取评论的接口服务,看下是否真的已经可以工作并提供真实的数据。

图4-3 初步实现获取评论的运行效果

图4-3 初步实现获取评论的运行效果

但故事到此就结束了吗?如果只是单纯编写一个示例代码,差不多到此可暂告生段落。但如果我们开发编写的是用于提供商业服务,最终会投入市场使用的产品代码,那么这仅仅是一个开始。下面会继续进行讲解。

  • 5、进行适当的重构,追求更高的代码质量

当功能开发完成后,也通常单元测试后,就可以考虑进行重构了。这时需要重构的内容,可以有以下这些方面进行考虑。

  • 是否已按ADM分层模式进行开发?

  • 是否已满足非功能性的要求?例如是否需要添加缓存?

  • 是否已处理异常的情况?例如获取的数据不存在怎么办?

  • 是否已抽离与业务无关、公共的代码?例如提取重复的实现,封装到扩展类库。

  • 是否忆消除发现的代码异味?例如明显的重复代码。

  • .. ...

关于重构的具体实现方式,在4.3 小步重构一节中会进一步讲解。

  • 6、为领域业务类和数据模型类补充对应的测试代码

通常情况下,遵循ADM分层模式编写的接口服务的代码,会有Api类、Domain类和Model类这三个类。但前面我们只是为A类生成了测试代码,虽然在Api这上高层的意图导向下可以很好地完成功能的开发,但为了更全面地保障内部实现细节的正确性,我们有必要对领域业务类和数据模型类也补充对应的测试代码。尤其是领域业务类,更是我们关注的重中之重,因为这一层有着复杂的规则,重要的领域业务逻辑,也是最容易出现问题的热区。

再一次,可以使用phalapi-buildtest命令为Domain类和Model类生成测试骨架代码。

Tests$ ../../PhalApi/phalapi-buildtest ../Domain/Comment.php Domain_Comment > ./Domain/Domain_Comment_Test.phpTests$ ../../PhalApi/phalapi-buildtest ../Model/Comment.php Model_Comment ./test_env.php > ./Model/Model_Comment_Test.php复制代码

然后,进行相应的调整、修改和编写单元测试代码,运行即可。以Domain_Comment类的单元测试为例,我们分别获取一个存在的评论,和一个不存在的评论,并进行相应的验证。关键的代码如下:

// Tests$ vim ./Domain/Domain_Comment_Test.phprequire_once dirname(__FILE__) . '/../test_env.php';class PhpUnderControl_DomainComment_Test extends PHPUnit_Framework_TestCase{
    public function testGet()
    {
        $id = '1';

        $rs = $this->domainComment->get($id);

        $this->assertNotEmpty($rs);
    }

    public function testGetNone()
    {
        $id = 404;

        $rs = $this->domainComment->get($id);

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

其中,评论ID为404是不存在的评论。编辑好保存后,执行一下此单元测试,是可以通过的。

Tests$ phpunit ./Domain/Domain_Comment_Test.php 
... ...OK (2 tests, 2 assertions)复制代码

Model类与此类似,这里不再赘述。

  • 7、执行单元测试套件,确保全部测试通过,没有引入新的问题

最后一步,其实也相当于回到了起点。即执行全部的单元测试,并确保全部的测试都是通过的。不现的时,现在我们有了新的单元测试,有了上面评论接口服务对应的单元测试,当准备把代码提交到仓库然后快乐下班之前,我们有必要确认新增加的代码和功能是可以正常运行外,还要确认已有的代码和功能不受影响。

在单元测试目录下,执行phpunit命令,便可执行全部的单元测试,其使用的配置是当前目录的phpunit.xml文件。执行后,可以看到全部的测试都测试通过,且测试用例从原来的10个增加到15个,断言从原来的16个增加到20个。我们的测试势力又强大了!强大的单元测试体系,势必会带来更强大的代码质量。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg



扬中400电话申请开通扬中企业网站建设扬中微信公众号小程序开发运营价格、扬中微信公众号APP软件客户端设计运营、扬中网页页面设计公司费用、扬中公司网站制作方案流程改版维护大概需要多少钱



上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务