實訓第二天總結

一个小虎牙發表於2024-06-25

今天主要是對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}》的圖書。"

相關文章