我使用py.test
为我的应用程序创建单元测试,但我遇到了问题。
我创建了自动化网络软件,所以我的很多方法都连接到外部服务器。我不想在测试中这样做,而是宁愿存储HTML源代码并对其进行测试。
问题是我该怎么做?例如,我在哪里存储测试数据? py.test
中是否有任何可以帮助存储/测试离线数据的内容?
答案 0 :(得分:3)
一般解决方案是使用 mocking ;替换调用Web服务的库,并将其替换为类似于该库的内容,但返回正常结果的测试版本。
使用unittest.mock
library进行模拟;它附带Python 3.3及更高版本,或以backport for older Python releases提供。
只需将新软件包添加到tests
软件包(存储所有单元测试的位置),即处理“固定装置”,即为某些参数生成的测试数据。