我有一个 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
