一起买beta版PHP单元测试

一起买beta版PHP单元测试

测试目的

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

单元描述

  • 完成帖子接口

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

  • 获取用户信息接口

    ​ 获得用户的个人信息。

  • 获取我的帖子接口

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

  • 类型搜索接口

    ​ 返回指定类型的帖子。

  • 修改用户信息接口

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

  • 管理员登录接口

    ​ 管理员登入系统。

  • 获得被举报帖子接口

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

  • 举报帖子接口

    ​ 用户举报非法帖子。

  • 删除举报接口

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

  • 更新帖子接口。

    ​ 用户修改帖子信息。

  • 过期设置接口

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

  • 获取用户相关帖子接口

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

测试过程

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

  • 修改用户信息测试
use PHPUnit\Framework\TestCase;
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");
}
}

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

  • 更新帖子测试
use PHPUnit\Framework\TestCase;
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");
}
}

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

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

测试结果:

一起买beta版PHP单元测试

结果统计

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

质量评估

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

测试总结

更新帖子模块出现bug,是由于本地的操作系统为Windows7,和实际服务器的系统Ubuntu处理文件的方式不一致,因此,在图片文件的处理上,无法应用到本地的windows7系统,故有报错。这种情况下,就采用实际测试,测试结果该模块也可以正常使用。

在测试过程中,遇到了个难以解决且最终没有解决的问题——dos窗口无法正常显示返回的中文字符!百度无果后就放弃了。实际测试,中文显示正常。

觉得单元测试比起以前用postman之类工具测试的时候,觉得最大的益处就是在改以前代码的时候会感受的作用,而且还能指出哪里出了问题,很棒。

上一篇:Home 安转beta版软件


下一篇:multi thread for Java