测试的运行流程

流程

  1. 使用visit或者是submitForm发起请求
  2. request::create构建请求
  3. 使用App::run执行请求指定的操作
  4. 操作执行完毕回显结果
  5. App::run返回response
  6. 使用see等等对执行结果进行断言

从App类讲起

项目的入口文件是index.php,该文件会调用thinkphp目录下的start.php。而start.php主要的两个作用就是导入base.php文件和运行app。

App::run()->send();

App是thinkPHP/library/think目录下的一个类。从该文件中我们可以知道,run会接受一个参数(request)。当这个参数为空的时候TP就会解析实际上的请求,当这个参数不为空的时候,TP实际上解析的便是这个参数。

request支持构建请求

在request中有一个方法create,这个方法传入相关的参数便可以构建一个请求。其返回值便是一个request,我们再将这个request传递给App运行即可。

$response = App::run($request);

这个response便是处理的结果,这个结果将会跟网页显示的内容的一模一样的,因此我们对这个结果进行断言,便可以完成对整个单元测试流程了。

文章导航