TDD: 测试驱动开发(Test-Driven Development),TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。 -- 载自TDD百度百科
参考
- 更正运行命令:
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
运行文章第二步进行单元测试命令,提示
Illuminate\Database\QueryException: could not find driver (SQL: select * from sqlite_master where type = 'table' and name = migrations)
的错误信息,在 找到解决方法,在 ubuntu中运行sudo apt-get install php-sqlite3
.laravel项目不是运行在根目录下,修复直接访问
http://localhost/blog/public/api
时,会 301 重定向到http://localhost/api
下, 修改.htaccess
文件中的RewriteRule ^(.*)/$ /$1 [L,R=301]
为RewriteRule ^(.*)/$ public/$1 [L,R=301]
, 参考链接:phpunit testunits 说明
测试类中的所有方法必须为public 修饰并且以test开头的public function test*(){}方式
更正 文章中的命令
phpunit tests/FruitsTest.php
为phpunit tests/Feature/FruitsTest.php
,测试类中的方法名必须加上 test开发,如文章中的it_fetches_fruits
得改为testit_fetches_fruits
,运行测试的时候,才会运行这个方法laravel连接sqlite
备份Laravel .env 文件中mysql 配置信息
DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secret
目前使用Laravel大多数是写api, 我的单个测试用例是判断返回结果的HTTP状态码(是最简单,但是准确性不是很高,至少在整个单元测试跑下来之后全绿,自己的心里对已写的程序还是比没有任何单元测试的时候踏实了些)