Skip to main content
 首页 » 编程设计

python之如何在不实例化类的情况下对方法进行单元测试

2025年05月04日15zhengyun_ustc

我有一个 SocketHandler 类,它有一个方法 calculate_ticket:

class SocketHandler(A, B, C ..): 
    .. 
 
    calculate_ticket(self, key): 
        .. 
        return ticket 
 
    .. 

现在我想测试这个方法而不必实例化类,因为它与很多东西耦合。这可能吗?

请您参考如下方法:

mock 库有多种使用方式。一种简单的方法是模拟实例本身,然后使用“长”形式调用方法。

class ClassToTest(object): 
    def __init__(self): 
        pass 
 
    def method_to_test(self, y): 
        self.x = y 
        return 5 
 
fake_instance = mock.Mock() 
ClassToTest.__init__(fake_instance) 
x = ClassToTest.method_to_test(fake_instance, 3) 
assert x == 5 
assert fake_instance.x == 3