在进行项目开发的时候,经常会对我们的类,函数,http请求等进行测试,看结果是否符合我们的预期。
对于http 请求我们通常会使用postman 来进行测试。
那么如果我们需要测试某一个类,某一个方法,需要怎么办?
可能我们会这样做:在类或者方法调用后对结果进行打印,然后使用postman 去请求对应接口。
这样做有那些坏处呢:
- 可能会在你的代码中出现很多var_dump() 代码。
- 在你调用该类/方法 之前有很多步骤是你不需要的。(比如在调用之前对数据库进行了相关操作)。造成脏数据。
由于以上原因,我们想寻找一个简单并且高效的方法去对我们的类/方法进行测试,但是又苦于框架的单一入口原则。不能直接去调用对应的类。
Unit:
laravel 提供了非常优秀的测试基因:
默认情况,你的应用 tests 目录中包含两个子目录:Feature
和 Unit
。对应功能测试和单元测试。
功能测试是针对大面积代码进行的测试,包括多个对象之间的交互,甚至是对 JSON 端点的完整 HTTP 请求。
单元测试是针对你的代码中非常少,而且相对独立的一部分代码来进行的测试(方法)。实际上,大部分单元测试都是针对单个方法进行的。
创建一个测试用例
// 在 Feature 目录下创建一个测试类...
php artisan make