今天主要是對python的基礎語法的學習和,pytest的測試檔案的書寫和allure的應用。
以下是我的一個測試程式碼
import allure import zuoye import pytest # 首先在本目錄下開啟Terminal # 之後使用命令:allure serve ./report/zuoye_res 可檢視執行報告 # 初始化library library = zuoye.Library() # 測試新增圖書 兩條錯誤資料,三條正確資料 @allure.title("新增方法測試") @pytest.mark.parametrize("title,price,intro", [["python", 115, "ww"], ["java", 16, "ww"], ["HTML", 16, "ww"], ["C", 16, "ww"], ["C++12345678", 18, "ww"]]) def test_add_book(title, price, intro): try: str = library.add_book(title, price, intro) except: str = "錯誤" assert str == f"圖書《{title}》已新增。", "書名長度必須在1到10個字元之間,價格必須在0到100之間。" # 測試更新圖書,四條資料,其中三條正確資料,一條錯誤資料 @allure.title("修改方法測試") @pytest.mark.parametrize("old_title,new_title,new_price,new_intro", [["java", "JAVA", None, None], ["HTML", "html", 20, "ee"], ["C", "C語言", 25, "cc"], ["不存在的書名", "ww", 20, "ee"]]) def test_update_book(old_title, new_title, new_price, new_intro): str = library.update_book(old_title, new_title, new_price, new_intro) assert str == f"圖書《{old_title}》的資訊已更新。", f"未找到書名為《{old_title}》的圖書。" # 測試查詢模組,三條正確資料,一條錯誤資料 @allure.title("查詢方法測試") @pytest.mark.parametrize("title, price", [["JAVA", None], ["html", 20], [None, 25], ["不存在的書名", None]]) def test_search_book(title, price): res = library.search_book(title, price) assert len(res) == 1 # 測試刪除模組,三條正確資料,一條錯誤資料 @allure.title("刪除方法測試") @pytest.mark.parametrize("title", ["JAVA", "html", "C語言", "不存在的title"]) def test_delete_book(title): str = library.delete_book(title) assert str == f"圖書《{title}》已刪除。", f"未找到書名為《{title}》的圖書。"