如何在 Python 中使用互联网依赖进行 TDD?

问题描述 投票:0回答:0

我需要确保我有一个功能可以从链接列表下载zip文件并将文件写入“zip_files/”文件夹。

我依赖于外部网页的链接和压缩文件!

Since you: - shouldn't mock - don't rely on outside dependencies - want to have confidence your code works!
我觉得我需要一个测试来告诉我有一个下载 zip 文件的工作功能。


为什么我需要这个功能? 我的 python 脚本应返回一个包含两个列表(年、年级)的 JSON 文件。 获取数据的过程如下:

    前往网页
  1. 获取所有带有“class=zip_download”的标签列表
  2. 下载该列表中的每个 zip
  3. 解压缩文件并将 Excel 文件移动到“excel_files/”(以后需要备份 excel 文件!)
  4. 在每个 Excel 上运行计算以提取所需的 JSON
我被困在为

第三(3)步编写测试,感觉我的想法与实现太紧密了。


def test_after_download_have_more_zip_files_than_links_in_list(self): """ GIVEN: I provide a list of links WHEN: Downloading is finished THEN: My folder has at least as many zip files as the list items """ zip_download_folder = "zip_files" list_of_zip_links = load_json_data(zip_link_file) download_zip_links(list_of_zip_links, zip_download_folder) self.assertGreater(len(os.listdir(zip_download_folder)), list_of_zip_links) for file in os.listdir(zip_download_folder): self.assertEqual(file.endswith('.zip'))

如何在这里编写有用的测试?

python unit-testing tdd
© www.soinside.com 2019 - 2024. All rights reserved.