Pytest 教學
建議本文的閱讀者可以先看過 Python unittest 了解基本觀念之後再閱讀本文。
俗話說的好:「不學測試,無以立。」想寫得一手好程式就從測試著手。
雖然 Python 內建 unittest,但畢竟還是有些許不便之處。基於不重新造輪的哲學,就來學一套坊間人人稱頌的pytest 吧!
Posted on Mar 22, 2016 in Python 程式設計 - 中階 by Amo Chen ‐ 4 min read
建議本文的閱讀者可以先看過 Python unittest 了解基本觀念之後再閱讀本文。
俗話說的好:「不學測試,無以立。」想寫得一手好程式就從測試著手。
雖然 Python 內建 unittest,但畢竟還是有些許不便之處。基於不重新造輪的哲學,就來學一套坊間人人稱頌的pytest 吧!
Posted on Mar 22, 2016 in Python 程式設計 - 中階 by Amo Chen ‐ 4 min read
本文是 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 unittest 模組的教學:
本文繼續介紹 unittest 幾個重要的方法,諸如 tearDown, test discover 以及 function test case 等等。
Last updated on Mar 20, 2023 in Python 程式設計 - 中階 by Amo Chen ‐ 4 min read
最近看了一篇文章 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
現今很多程式系統是採用 Web 架構進行開發,使得瀏覽器也成為進行系統測試的一環,因此如何自動化的操控瀏覽器進行 Web 系統測試,成為必要的測試技術(畢竟人工太過耗時、也不具效率)。
自動化的瀏覽器測試方案很多,例如 PhantomJS, CasperJS, Zombie.js, Selenium 等,比比皆是。
Last updated on Dec 24, 2022 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 3 min read
軟體測試的覆蓋率(coverage)也是衡量測試品質的其中一項重要指標,如果是使用 pytest 作為測試框架(framework)的話,可以安裝 pytest-cov 衡量覆蓋率的高低。
Posted on Oct 27, 2017 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read
自 Python 3.3 增加 unittest.mock 函式庫之後,測試 Python 程式又更方便了。
不過,剛接觸測試相關技術的初學者應該會對 unittest.mock
感到困惑,本篇就解說 unittest.mock
中的 patch
功能,作為學習, unittest.mock
的 Hello World.
Posted on Sep 8, 2018 in Python 程式設計 - 中階 by Amo Chen ‐ 3 min read
本文為 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