前言 上一篇我們是在沒有 PHPUnit 的幫助之下進行程式開發,今天我們就改用 PHPUnit 來開發看會是什麼樣的情況吧 安裝 PHPUnit PHPUni...
如何測試 其實測試很簡單,如Day01提到的在『編輯器裡寫完code後再到瀏覽器按F5』,所以我們可以寫出我們的第一個測試 找個資料夾打開檔案為 index.p...
測試好麻煩啊! 談論到測試,就會想到『好麻煩啊!程式都寫完了,為什麼還要浪費時間去寫測試去驗證程式啊?』用這個角度來看待測試自然就沒有撰寫測試的動力了,所以讓我...
Medium 清新閱讀版:連結 這是本系列的最後一篇介紹文,今天讓我們探討「缺乏 Migration Files 與 Factory Files」的 Legac...
Medium 清新閱讀版:連結 在前一天的文章中,我們探討了多重資料庫連線情境下,Model 及 Database Assertion 的應對方式,不過實際上筆...
Medium 清新閱讀版:連結 在實務情境上,常會有在單一專案程式庫中,存取多個不同資料庫的使用情境,在這種情況下,我們通常會設置多個資料庫連線(Databas...
Medium 清新閱讀版:連結 今天就讓我們依照前一天的情境題,來撰寫測試案例函數吧! 這次同樣地,先讓我們規畫擬訂測試案例: 測試案例 使用者註冊: 使用...
Medium 清新閱讀版:連結 前兩天,我們探討了「網站文章」的情境題;今明兩天,就讓我們探討另一個情境題「會員註冊」吧! 這邊我們同樣假設網站是採前後端分離的...
Medium 清新閱讀版:連結 今天就讓我們依照前一天的情境題,來撰寫測試案例函數吧! 先讓我們規畫擬訂測試案例: 測試案例 當使用者瀏覽文章清單頁時: 使...
Medium 清新閱讀版:連結 今天已經是第鐵人賽第24天了! 在前面的23天,與大家分享了許多撰寫 PHPUnit 測試程式碼所需的知識,之後的文章就讓我們來...
Medium 清新閱讀版:連結 今天我們來聊聊覆蓋率報告吧! 何為覆蓋率報告 & 為何需要覆蓋率報告 所謂的覆蓋率報告,指的是能指出我們的專案程式庫,有...
Medium 清新閱讀版:連結 今天讓我們來看 phpunit.xml 吧! phpunit.xml 位在 Laravel 專案根目錄底下,顧名思義,它是一個設...
Medium 清新閱讀版:連結 今天要來為大家介紹 Storage Mocking 及 HTTP Mocking! Storage Mocking 函數 S...
Medium 清新閱讀版:連結 今天來看 Queue Mocking 吧! Queue Mocking 函數 Queue::fake():當我們希望在執行測...
Medium 清新閱讀版:連結 今天來看 Mail Mocking 吧! Mail Mocking 函數 Mail::fake():當我們希望在執行測試目標...
Medium 清新閱讀版:連結 今天我們會接續環繞著 「Mocking」 這個主題。 在 Laravel 中,有幾個類別的 Mocking 方式,與前兩天所介紹...
Medium 清新閱讀版:連結 今天讓我們回顧一下前一天的 Mocking 初體驗吧! (原本今天想與大家分享其他 Mocking 技術,但發現前一天的文章似乎...
Medium 清新閱讀版:連結 今天我們來聊聊「Mocking」吧!(話說30天已經過了一半了!) 何為 Mocking & 為何 Mocking 所謂...
Medium 清新閱讀版:連結 今天讓我們來看看播種器吧! 什麼是播種器 播種器 (Seeder) 是 Laravel 提供的一個批次建立測試資料的功能,可以讓...
Medium 清新閱讀版:連結 今天要來為大家介紹幾個,在撰寫測試程式碼時可以利用的特殊函數。 setUp() & tearDown() setUp...
Medium 清新閱讀版:連結 今天讓我們看看幾個重要的 PHPUnit @ Annotation 吧! 所謂的 PHPUnit @ Annotation,是指...
Medium 清新閱讀版:連結 前兩天分別演練了 API 測試與資料庫測試,今天則讓我們停下腳步,來介紹一些 Laravel 提供的,與 自動化測試有關的 Tr...
Medium 清新閱讀版:連結 鐵人賽不知不覺來到第6天了! 今天會再與大家介紹幾個資料庫 Assertion 函數,與陣列 Assertion 函數。與前一天...
Medium 清新閱讀版:連結 前一天與大家分享了幾個通用型 Assertion 函數,今天來為大家介紹幾個 HTTP 相關的 Assertion 函數吧! 今...