小白學Python的第十堂課

閱讀時間約 2 分鐘

在第十課中,我們將學習 Python 的單元測試 (Unit Testing)。

單元測試是一種軟體測試方法,我們將程式分解為最小的可測試部分(稱為單元)並個別進行測試。

在 Python 中,我們可以使用內建的 unittest 模組來寫單元測試。

首先,我們來建立一個新的文件 unit_testing.py,並定義一個簡單的函式來進行測試:

pythonCopy code
def add(a, b):
"""Return the sum of a and b."""
return a + b

接下來,我們會在同一個文件中編寫一個測試案例 (Test Case):

pythonCopy code
import unittest

class TestAddFunction(unittest.TestCase):
def test_add(self):
self.assertEqual(add(1, 2), 3)
self.assertEqual(add(-1, 1), 0)
self.assertEqual(add(0, 0), 0)

# 在程式的結尾執行所有的測試案例
if __name__ == '__main__':
unittest.main()

在上述程式碼中,我們首先導入了 unittest 模組,然後定義了一個名為 TestAddFunction 的測試案例類別。

這個類別繼承自 unittest.TestCase,並包含一個方法 test_add

在這個方法中,我們使用 self.assertEqual 來驗證我們的 add 函式的結果是否正確。

在程式的結尾,我們使用 unittest.main() 來執行所有的測試案例。

請在 unit_testing.py 檔案中輸入並運行以上的程式碼。

如果所有的測試都通過,那就表示我們的 add 函式應該是正確的。

如果有任何測試失敗,那就表示我們的 add 函式可能存在問題,我們需要去修正它。

單元測試是軟體開發的一個重要部分,可以幫助我們確保我們的程式碼正確無誤,並在修改程式碼時防止引入新的錯誤。

    avatar-img
    34會員
    28內容數
    我學習Python的紀錄
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Hack_Z的沙龍 的其他內容
    在第九課中,我們將學習 Python 的文件讀取與寫入。 Python 提供了一些內建的函式,使我們能夠輕鬆讀取和寫入文件。
    在第八課中,我們將探索 Python 中的錯誤處理。 當 Python 程式在運行過程中遇到錯誤時,會引發所謂的異常 (Exceptions)。 我們可以使用 try/except 語句來捕獲和處理這些異常,防止我們的程式意外終止。
    在第七課,我們將談論 Python 中的模組 (Modules) 和套件 (Packages)。 模組和套件允許我們將 Python 程式碼組織成可重用的單元,有助於程式碼的模組化和重用。
    在第六課中,我們將討論 Python 中的類別 (Classes) 和物件 (Objects)。 類別和物件是物件導向程式設計 (Object-oriented programming, OOP) 的核心概念。在 Python 中,所有事物都是物件,並且它們都來自於某個類別。
    在第六課中,我們將討論 Python 中的類別 (Classes) 和物件 (Objects)。 類別和物件是物件導向程式設計 (Object-oriented programming, OOP) 的核心概念。在 Python 中,所有事物都是物件,並且它們都來自於某個類別。
    在第五堂課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。 函式可以接受參數 (arguments) 並返回一個結果。 讓我們在新的文件 functions.py 中學習如何定義和使用函式。
    在第九課中,我們將學習 Python 的文件讀取與寫入。 Python 提供了一些內建的函式,使我們能夠輕鬆讀取和寫入文件。
    在第八課中,我們將探索 Python 中的錯誤處理。 當 Python 程式在運行過程中遇到錯誤時,會引發所謂的異常 (Exceptions)。 我們可以使用 try/except 語句來捕獲和處理這些異常,防止我們的程式意外終止。
    在第七課,我們將談論 Python 中的模組 (Modules) 和套件 (Packages)。 模組和套件允許我們將 Python 程式碼組織成可重用的單元,有助於程式碼的模組化和重用。
    在第六課中,我們將討論 Python 中的類別 (Classes) 和物件 (Objects)。 類別和物件是物件導向程式設計 (Object-oriented programming, OOP) 的核心概念。在 Python 中,所有事物都是物件,並且它們都來自於某個類別。
    在第六課中,我們將討論 Python 中的類別 (Classes) 和物件 (Objects)。 類別和物件是物件導向程式設計 (Object-oriented programming, OOP) 的核心概念。在 Python 中,所有事物都是物件,並且它們都來自於某個類別。
    在第五堂課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。 函式可以接受參數 (arguments) 並返回一個結果。 讓我們在新的文件 functions.py 中學習如何定義和使用函式。
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在上一章有提到區塊鏈主要是一些點到點的交易紀錄,就像我們一般在買東西一樣,要完成一樁交易會有幾個要件:消費者、供應者、第三方見證者、費用以及商品,在區塊鏈上的交易(Web3稱為鑄造Mint)也是如此,這一章就來了解一下這幾個重要角色。
    Thumbnail
    踏入Web3剛滿一年不久,其實很多區塊鏈的知識、專有名詞都還不是很懂,網路上的資訊雖然很多,但是大部分都寫的很專業,一個新手要去讀懂很難,我自己也是在這個領域慢慢摸索很久,直到現在我才能粗略的了解網路上的文章在寫什麼,希望能藉由這樣的學習筆記自我消化,也能提供給新手更白話、好理解的Web3知識。
    Thumbnail
    自序 什麼是投資小白貓?網路上很常稱呼小白就是什麼都不懂的新手,我覺得叫小白貓比較可愛跟趣味一點,就跟剛出生的貓一樣,對世界充滿好奇心,勇於學習跟嘗試。 這是一本寫給想學好穩健投資的新手入門書,從這本書中主要的幾個章節,可以獲得完整的投資知識,由於內容是設計給投資小白貓們看,因此專有名詞跟使用的語言
    Thumbnail
    半自學幾天後,終於才進到書中的迴圈!         前後也相繼完成朋友出的作業,實在是萬分感謝他,我也完成了幾個迴圈的小作業,然後又接收到一個要把「阿拉伯數字」變成「中文字」的作業,譬如: 輸入1042顯示一千零四十二。這個我懂,我可是有教過小朋友數學好幾年的老師,另一個學生常見的問題就是1003
    Thumbnail
    很久沒有重頭學習個新玩意。         最近,因為疫情的關係,開始學起程式語言。以前就常用RPGmaker做些小遊戲,雖然都常常夭折啦 ! 也因為近期常常使用電腦這個工具來線上上課! 但哪裡知道心中認為的寫程式和實際上差滿多。好佳在有位資深工程師超級好朋友大力幫忙(寄書來、線上被問問題、出功課.
    Thumbnail
    Hi this is Allee,今天想和大家分享簡單理財的一種方式:整理錢包。 理財小白如我,也可以隨時進行的理財方式。 整理錢包,是正視金錢的開始。 我也曾經是一年換一次錢包、追求長夾,覺得看起來好時尚,好有「大人感」的感覺派。 但錢包裡面卻是亂糟糟的,各種集點卡、統一發票、收據等,常常淹沒
    Thumbnail
    很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
    Thumbnail
    Hi this is 理財小白 Allee,今天我們用notion開始記帳。 什麼是Notion? Notion是一個筆記軟體,在網頁及行動裝置上皆可以使用。這個軟體的強大之處在於它當中的任何資料都是以「資料庫」的形式建立,因此可以很快地串連相關的頁面。 另一方面,排版的自由度高也是令人欣喜的一點
    Thumbnail
    今天想和大家聊聊和小孩談錢這件事。 最近在聽親子天下的podcast,主題是:「幾歲開始培養兒童金錢觀?」在主持人的解說下,赫然發覺原來7歲前小孩的金錢觀已經大致抵定。 我家的老大目前已滿四歲,出門開始會吵著要買玩具、買吃的喝的。雖然只是小錢,但是該如何溝通「購買」「金錢」,卻是個難題。
    Thumbnail
    今天,要和大家聊聊理財這件事。 首先要承認的事情是,我在理財方面,就是小白一枚(其實不只是理財,在很多方面也都是小白。我想這個在今年的寫作中一定會提到)。2020年末,我加入了一個個人成長的社團,相關於個人成長的部分,我也正在積極學習中。但今天,先來聊聊這些年,或者說我開始工作後,理財想法的轉變。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在上一章有提到區塊鏈主要是一些點到點的交易紀錄,就像我們一般在買東西一樣,要完成一樁交易會有幾個要件:消費者、供應者、第三方見證者、費用以及商品,在區塊鏈上的交易(Web3稱為鑄造Mint)也是如此,這一章就來了解一下這幾個重要角色。
    Thumbnail
    踏入Web3剛滿一年不久,其實很多區塊鏈的知識、專有名詞都還不是很懂,網路上的資訊雖然很多,但是大部分都寫的很專業,一個新手要去讀懂很難,我自己也是在這個領域慢慢摸索很久,直到現在我才能粗略的了解網路上的文章在寫什麼,希望能藉由這樣的學習筆記自我消化,也能提供給新手更白話、好理解的Web3知識。
    Thumbnail
    自序 什麼是投資小白貓?網路上很常稱呼小白就是什麼都不懂的新手,我覺得叫小白貓比較可愛跟趣味一點,就跟剛出生的貓一樣,對世界充滿好奇心,勇於學習跟嘗試。 這是一本寫給想學好穩健投資的新手入門書,從這本書中主要的幾個章節,可以獲得完整的投資知識,由於內容是設計給投資小白貓們看,因此專有名詞跟使用的語言
    Thumbnail
    半自學幾天後,終於才進到書中的迴圈!         前後也相繼完成朋友出的作業,實在是萬分感謝他,我也完成了幾個迴圈的小作業,然後又接收到一個要把「阿拉伯數字」變成「中文字」的作業,譬如: 輸入1042顯示一千零四十二。這個我懂,我可是有教過小朋友數學好幾年的老師,另一個學生常見的問題就是1003
    Thumbnail
    很久沒有重頭學習個新玩意。         最近,因為疫情的關係,開始學起程式語言。以前就常用RPGmaker做些小遊戲,雖然都常常夭折啦 ! 也因為近期常常使用電腦這個工具來線上上課! 但哪裡知道心中認為的寫程式和實際上差滿多。好佳在有位資深工程師超級好朋友大力幫忙(寄書來、線上被問問題、出功課.
    Thumbnail
    Hi this is Allee,今天想和大家分享簡單理財的一種方式:整理錢包。 理財小白如我,也可以隨時進行的理財方式。 整理錢包,是正視金錢的開始。 我也曾經是一年換一次錢包、追求長夾,覺得看起來好時尚,好有「大人感」的感覺派。 但錢包裡面卻是亂糟糟的,各種集點卡、統一發票、收據等,常常淹沒
    Thumbnail
    很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
    Thumbnail
    Hi this is 理財小白 Allee,今天我們用notion開始記帳。 什麼是Notion? Notion是一個筆記軟體,在網頁及行動裝置上皆可以使用。這個軟體的強大之處在於它當中的任何資料都是以「資料庫」的形式建立,因此可以很快地串連相關的頁面。 另一方面,排版的自由度高也是令人欣喜的一點
    Thumbnail
    今天想和大家聊聊和小孩談錢這件事。 最近在聽親子天下的podcast,主題是:「幾歲開始培養兒童金錢觀?」在主持人的解說下,赫然發覺原來7歲前小孩的金錢觀已經大致抵定。 我家的老大目前已滿四歲,出門開始會吵著要買玩具、買吃的喝的。雖然只是小錢,但是該如何溝通「購買」「金錢」,卻是個難題。
    Thumbnail
    今天,要和大家聊聊理財這件事。 首先要承認的事情是,我在理財方面,就是小白一枚(其實不只是理財,在很多方面也都是小白。我想這個在今年的寫作中一定會提到)。2020年末,我加入了一個個人成長的社團,相關於個人成長的部分,我也正在積極學習中。但今天,先來聊聊這些年,或者說我開始工作後,理財想法的轉變。