我将如何使用 pytest 进行单元测试?

How would I go about unit testing this using pytest?

提问人:Reina297 提问时间:5/24/2023 更新时间:5/24/2023 访问量:31

问:

我正在尝试使用 pytest 对以下代码进行单元测试,但我完全不确定将列表值与我正在测试的函数链接。

def already_exists(self, name) -> bool:
        for storm in self.storm_list:
            if storm.name == name:
                return True
        return False

这是我从中获取函数的完整代码:

class Storm(ABC):
    def __init__(self, name, wind_speed):
        self.name = name
        self.wind_speed = wind_speed
        super().__init__()

class control_Centre:
    def __init__(self):
        self.storm_list = []

    def already_exists(self, name) -> bool:
        for storm in self.storm_list:
            if storm.name == name:
                return True
        return False
python 单元测试 pytest

评论


答:

1赞 Raphael Treccani-Chinelli 5/24/2023 #1
def test_already_exists():
    s1 = Storm('Jeff', 10)
    c1 = control_Centre()
    c1.storm_list.append(s1)
    assert(c1.already_exists('Jeff') == True)
    assert(c1.already_exists('Dave') == False)

请记住,您的函数实际上不会检查两个风暴是否相同,只是检查“控制中心”对象中是否存在具有给定名称的风暴。