如何为连接到Web服务的方法编写单元测试?

时间:2015-10-11 13:39:38

标签: python unit-testing pytest

我使用py.test为我的应用程序创建单元测试,但我遇到了问题。

我创建了自动化网络软件,所以我的很多方法都连接到外部服务器。我不想在测试中这样做,而是宁愿存储HTML源代码并对其进行测试。

问题是我该怎么做?例如,我在哪里存储测试数据? py.test中是否有任何可以帮助存储/测试离线数据的内容?

1 个答案:

答案 0 :(得分:3)

一般解决方案是使用 mocking ;替换调用Web服务的库,并将其替换为类似于该库的内容,但返回正常结果的测试版本。

使用unittest.mock library进行模拟;它附带Python 3.3及更高版本,或以backport for older Python releases提供。

只需将新软件包添加到tests软件包(存储所有单元测试的位置),即处理“固定装置”,即为某些参数生成的测试数据。