test server.test.php,TaskTest

TaskTest¶

zan框架基于协程构建,具备异步无阻塞等特性,在测试用例上,zan框架提供了统一的基类TaskTest。

使用示例¶

编写测试用例只需要继承TaskTest,提供对应的taskmethod即可轻松实现任务调度。

classYieldTaskTestextendsTaskTest{

privatefunctionsimpleFunction()

{

return;

}

privatefunctiongenerator()

{

yield3;

}

publicfunctiontaskYield()

{

$a=(yield$this->simpleFunction());

$this->assertEquals(NULL,$a,'Yield simpleFunction return value test failed');

$a=(yield$this->generator());

$this->assertEquals(3,$a,'Yield Generator test failed');

}

}

测试方法命名规则为task+name,测试方法为协程。

当有多个task异步操作时,调度表现为多IO并发形式,故存在依赖关系的task需写入一个task中。

测试方法¶

zan框架基于phpunit构建协程的统一测试用例,phpunit的使用方法详细参见https://phpunit.de/

针对单个测试文件,测试命令为:

phpunit –bootstrap zan/test/bootstrap.php [test.php]

如果需要运行zan框架全部的测试用例,需要搭建测试环境,包括tcp server,redis server,mysql server等。

tcp server和http server测试用例均已经模拟实现,文件位置为zan/test/mockServer。

redis server和mysql server需要用户本地搭建,然后修改zan/test/resource/config/{ENV}/connection下的连接池配置即可。

具体测试步骤为:

一、运行环境准备¶

1.mysql server

2.redis server

修改test/resource/config/{ENV}/connection下的mysql用户名和密码

二、启动server¶

除mysql和redis之外的其他server采用mock方式实现,启动方法:

cd zan/mockServer

sh ./go.sh start 启动server

三、执行测试¶

cd zan

phpunit

四、关闭server¶

cd zan/mockServer

sh ./go.sh stop 关闭server

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值