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