zoukankan      html  css  js  c++  java
  • 一起买beta版PHP单元测试

    一起买beta版PHP单元测试

    测试目的

    保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误。

    单元描述

    • 完成帖子接口

      ​ 将“正在进行”帖子状态更改为“已完成”。

    • 获取用户信息接口

      ​ 获得用户的个人信息。

    • 获取我的帖子接口

      ​ 获取用户帖子,包括“正在进行”、“已过期”、“已完成”。

    • 类型搜索接口

      ​ 返回指定类型的帖子。

    • 修改用户信息接口

      ​ 修改用户的个人信息,包括头像。

    • 管理员登录接口

      ​ 管理员登入系统。

    • 获得被举报帖子接口

      ​ 管理员获取被举报的帖子列表。

    • 举报帖子接口

      ​ 用户举报非法帖子。

    • 删除举报接口

      ​ 管理员删除用户的某个举报。

    • 更新帖子接口。

      ​ 用户修改帖子信息。

    • 过期设置接口

      把过期的帖子状态设置成已过期。

    • 获取用户相关帖子接口

      获取我的收藏和我的足迹。

    测试过程

    • 完成帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'FinishPosts.class.php';
    class FinishPostsTest extends TestCase
    {
        public function testFinishPosts()
        {
            $test = new FinishPosts();
            $test->finishTest(1);
        }
    }
    

    测试结果:

    • 获取用户信息测试
    use PHPUnitFrameworkTestCase;
    require_once 'GetUser.class.php';
    class GetUserTest extends TestCase
    {
        public function testGetUser()
        {
            $test = new GetUser();
            $test->getUserTest("linlin");
        }
    }
    

    测试结果:

    • 获取我的帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'MyPosts.class.php';
    class MyPostsTest extends TestCase
    {
        public function testMyPosts()
        {
            $test = new MyPosts();
            $test->myTest("linlin","正在进行");
        }
    }
    

    测试结果:

    • 类型帖子返回(类型搜索)测试
    use PHPUnitFrameworkTestCase;
    require_once 'TypeSearch.class.php';
    class TypeSearchTest extends TestCase
    {
        public function testTypeSearch()
        {
            $test = new TypeSearch();
            $test->typeTest("食品",0,5);
        }
    }
    

    测试结果:

    • 修改用户信息测试
    use PHPUnitFrameworkTestCase;
    require_once 'UpdateUser.class.php';
    class UpdateUserTest extends TestCase
    {
        public function testUpdateUser()
        {
            $test = new UpdateUser();
            $test->templateTest("linlin","boy","boss","1995-04-09","fzu","cs","","say:yes");
        }
    }
    

    测试结果:

    • 管理员登录测试
    use PHPUnitFrameworkTestCase;
    require_once 'AdminLogin.class.php';
    class AdminLoginTest extends TestCase
    {
        public function testAdminLogin()
        {
    //        $this->assertTrue(true);
            $test = new AdminLogin();
            $test->adminLoginTest("b","b");
        }
    }
    

    测试结果:

    • 获得被举报帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'GetReportedList.class.php';
    class GetReportedListTest extends TestCase
    {
        public function testGetReported()
        {
            //        $this->assertTrue(true);
            $test = new GetReportedList();
            $test->getListTest(1,3);
        }
    }
    

    测试结果:

    • 举报帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'ReportMessage.class.php';
    class ReportMessageTest extends TestCase
    {
        public function testReportMessage()
        {
            $test = new ReportMessge();
            $test->reportMessageTest(8);
        }
    }
    

    测试结果:

    • 删除举报测试
    use PHPUnitFrameworkTestCase;
    require_once 'ReportIgnore.class.php';
    class ReportIgnoreTest extends Testcase
    {
        public function testReportIgnore()
        {
            $test = new ReportIgnore();
            $test->ignoreTest(3);
        }
    }
    

    测试结果:

    • 更新帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'UpdatePosts.class.php';
    class UpdatePostsTest extends TestCase
    {
        public function testUpdatePosts()
        {
            $test = new UpdatePosts();
            $test->updateTest(2,"buysomething","","食品","bread",12.1,"piece",3,1,1,"willyoubuy","qq123321");
        }
    }
    

    测试结果:

    • 过期设置接口
    <?php
    use PHPUnitFrameworkTestCase;
    require_once 'OverTimeSet.class.php';
    class OverTimeSetTest extends TestCase
    {
        public function testOverTimeSet()
        {
            $test = new OverTimeSet();
            $test->OverTimeSetTest(1);
        }
    }
    

    测试结果:

    • 获取用户相关帖子测试
    use PHPUnitFrameworkTestCase;
    require_once 'GetStatePosts.class.php';
    class GetStatePostsTest extends TestCase
    {
        public function testGetStatePosts()
        {
            $test = new GetStatePosts();
            $test->getStatePosts("linlin",1);
        }
    }
    

    测试结果:

    结果统计

    十二个模块的测试,十二个模块无出现错误。

    质量评估

    总体上,模块并没有出错什么致命错误。

    测试总结

    更新帖子模块出现bug,是由于本地的操作系统为Windows7,和实际服务器的系统Ubuntu处理文件的方式不一致,因此,在图片文件的处理上,无法应用到本地的windows7系统,故有报错。这种情况下,就采用实际测试,测试结果该模块也可以正常使用。
    在测试过程中,遇到了个难以解决且最终没有解决的问题——dos窗口无法正常显示返回的中文字符!百度无果后就放弃了。实际测试,中文显示正常。
    觉得单元测试比起以前用postman之类工具测试的时候,觉得最大的益处就是在改以前代码的时候会感受的作用,而且还能指出哪里出了问题,很棒。

  • 相关阅读:
    ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
    ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述
    ASP.NET Core 中文文档 第四章 MVC(2.3)格式化响应数据
    ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证
    ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
    ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览
    mysql 解除正在死锁的状态
    基于原生JS的jsonp方法的实现
    HTML 如何显示英文单、双引号
    win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
  • 原文地址:https://www.cnblogs.com/wpqwpq/p/6172279.html
Copyright © 2011-2022 走看看