Python unittest – 如何很好地模拟网络爬虫函数?
先决条件: Python |单元测试对象修补
单元测试是软件测试的第一级,其中测试软件的最小可测试部分。这用于验证软件的每个单元是否按设计执行。 Unittest 框架是 python 的 xUnit 风格框架。在深入研究“如何很好地模拟网络爬虫”之前,让我们了解一些基础知识。
什么是模拟?
Mock是unittest模块的子模块(类)。模拟模块允许我们用模拟对象替换我们正在测试的整个系统的特定部分。
要执行的步骤:
- 从unittest.mock模块导入模拟类。
- 创建Mock类的实例。
- 设置模拟对象的方法。
- 打印结果
例子:
让我们通过模仿另一个Python类来理解模拟。在这个例子中,我们将看到在我们的模拟类上调用的方法,以及传递给它们的参数。
Python3
# importing mock from unittest.mock module
from unittest.mock import Mock
# defining instance of our mock
our_mock = Mock()
# defining mock object’s __str__ method
our_mock.__str__ = Mock(return_value='GeeksforGeeks Mocking Example')
# executing str function for output
print(str(our_mock))
输出:
GeeksforGeeks Mocking Example