Python 寫測試

Pytest 教學

建議本文的閱讀者可以先看過 Python unittest 了解基本觀念之後再閱讀本文。

俗話說的好:「不學測試,無以立。」想寫得一手好程式就從測試著手。

雖然 Python 內建 unittest,但畢竟還是有些許不便之處。基於不重新造輪的哲學,就來學一套坊間人人稱頌的pytest 吧!

Posted on  Mar 22, 2016  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 4 min read

Python unittest 模組教學 part 1

本文是 Python unittest 模組的教學: Python unittest 模組教學 Part 1 Python unittest 模組教學 Part 2 本篇談談 Python 的 unittest 模組。 顧名思義, unittest 就是專門做單元測試(unit test)的模組。 從 Python 2.1 開

Last updated on  Mar 20, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 5 min read

Python pytest 紀錄單元測試時間

最近看了一篇文章 Timing Tests in Python for Fun and Profit ,這篇文章蠻值得一讀的,主要是陳述如何透過紀錄測試案例(test case)的執行時間找到需要改善測試速度的測試案例(其實也可能發現執行效率不好的程式)。

不過個人較常使用的是 pytest ,所以就另外花了些時間看如何在 pytest 做到一樣的事情。

Posted on  Nov 20, 2016  in  Python 模組/套件推薦  by  Amo Chen  ‐ 2 min read

Python 使用 Selenium 控制瀏覽器進行自動化測試

現今很多程式系統是採用 Web 架構進行開發,使得瀏覽器也成為進行系統測試的一環,因此如何自動化的操控瀏覽器進行 Web 系統測試,成為必要的測試技術(畢竟人工太過耗時、也不具效率)。

自動化的瀏覽器測試方案很多,例如 PhantomJS, CasperJS, Zombie.js, Selenium 等,比比皆是。

Last updated on  Dec 24, 2022  in  Python 模組/套件推薦 , Python 程式設計 - 高階  by  Amo Chen  ‐ 3 min read

Python mock 模組 - 淺談 spec, return_value, side_effect, wraps - Part 1

本文為 unittest.mock 系列文章:

Python 的測試案例(test case)寫到最後,免不了都會用上 unittest.mock 模組,原因在於有些類別、資料用 mock 的方式製造,遠遠方便於實際執行過一遍,例如測試使用者利用臉書登入,利用 mock 模擬實際臉書伺服器的回應遠比實際執行來得方便之外,也更加確保測試案例的可控制性,不會因為臉書伺服器故障或者網路問題而導致測試案例不穩定的情況發生。

然而 mock 對於初學者而言並不是十分容易理解,本文就談談 mock 中幾個重要的功能,了解這些功能之後,肯定能夠打通 mock 模組的任督二脈!

Posted on  Dec 16, 2018  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 3 min read