[筆記]Laravel TDD 胡亂記錄

TDD: 測試驅動開發(Test-Driven Development),TDD的原理是在開發功能代碼以前,先編寫單元測試用例代碼,測試代碼肯定須要編寫什麼產品代碼。 -- 載自TDD百度百科php

參考 Test Driven API Development using Laravel, Dingo and JWT with Documentationhtml

  1. 更正運行命令:
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
  1. 運行文章第二步進行單元測試命令,提示 Illuminate\Database\QueryException: could not find driver (SQL: select * from sqlite_master where type = 'table' and name = migrations)的錯誤信息,在php artisan migrate gives me an error could not find driver 找到解決方法,在 ubuntu中運行 sudo apt-get install php-sqlite3.mysql

  2. laravel項目不是運行在根目錄下,修復直接訪問 http://localhost/blog/public/api時,會 301 重定向到 http://localhost/api下, 修改 .htaccess 文件中的RewriteRule ^(.*)/$ /$1 [L,R=301]RewriteRule ^(.*)/$ public/$1 [L,R=301], 參考連接: Removing "/public" from URL (Where does Laravel get the base URL from?)laravel

  3. phpunit testunits 說明 phpunit 單元測試--laravel[持續更新]sql

    測試類中的全部方法必須爲public 修飾而且以test開頭的public function test*(){}方式ubuntu

  4. 更正 文章中的命令 phpunit tests/FruitsTest.phpphpunit tests/Feature/FruitsTest.php,測試類中的方法名必須加上 test開發,如文章中的it_fetches_fruits 得改成 testit_fetches_fruits,運行測試的時候,纔會運行這個方法api

  5. laravel鏈接sqlite Connect to an Sqlite DB - Laravel documentation procedure doesn't workide

  6. 備份Laravel .env 文件中mysql 配置信息單元測試

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

目前使用Laravel大多數是寫api, 個人單個測試用例是判斷返回結果的HTTP狀態碼(是最簡單,可是準確性不是很高,至少在整個單元測試跑下來以後全綠,本身的內心對已寫的程序仍是比沒有任何單元測試的時候踏實了些)測試

相關文章
相關標籤/搜索