phpstrom下,初始化composer
如果是Composer 建立的项目,在vendor/bin 下存在phpunit.bat,如图:
Composer 是比较好用的php依赖管理工具,laravel直接基于Composer 的。
如果项目不是Composer,可以将老项目引入Composer,如图:
第一步,Composer标签下有个”init Composer“,点击初始化。
第二步,添加所需依赖,搜索phpunit,一步步确认即可。
- 第三步,配置phpunit,打开file->setting->phpunit,配置加载器,在此我配置的是composer提供的autoload.php
- 第四步,配置测试用例,run->edit comfigurations
此时,会出现以下图标
如何测试
在laravel中,tests文件下一般会有两个文件夹Feature和Unit,laravel文档是这样解释的
Feature和Unit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的 HTTP 请求。
坑
1.配置测试用例时(上文的第四步),如果在对话框右下角,出现了【FIX】警告的按钮,如何修复?
选择php的版本(和计算机一致),选择解释器[interpreter],一般是你的php.exe。
2.关于自动生成测试类的坑:当本人在需要测试的类使用go to-> test
生成的测试类如下所示,这是会报错的;
class PlatformDiscountController2Test extends PHPUnit_Framework_TestCase {}
其实从php5.7起,PHPUnit_Framework_TestCase已经被TestCase替代。
class PlatformDiscountController2Test extends TestCase {}
总结
本篇文章仅仅介绍了如何在phpstrom上搭建unit测试环境,因为是windows+laravel,单元测试用起来不是特别方便,可以借助phpstrom来配合使用,提高开发效率。
参考
- laravel学院:如何进行单元测试 http://laravelacademy.org/post/6386.html