我正在制作一个屏幕抓取器,用于从电视频道网站收集时间表数据。为此,我必须获取网站的原始 HTML。我是第一次尝试单元测试,我对模拟有一些了解,但我对此还不太有信心。(如果有人能提供一些关于这方面的好的学习资源,我将不胜感激。)
我的方法是尝试返回一个时间表类,该类将从 HTML 数据中解析 DOM 并剥离时间表数据,如下所示:
from urllib.request import urlopen
def fetch_html():
url = "https://example.com"
response = urlopen(url)
dom = response.read()
return SomeScheduleClass(dom)
Run Code Online (Sandbox Code Playgroud)
我的观点是我不知道如何测试它是否确实SomeScheduleClass按预期返回。我是否嘲笑http.client.HTTPResponse从 得到的对象urlopen?我是否能找到一种方法来嘲笑response.read()?或者我根本不需要测试这个,我只是在浪费时间?如果是这样,我应该在这里测试什么?
顺便说一句,我仍然很生疏,因为我所知道的关于Python的一切都是自学的,所以如果这是非常基础的并且我在浪费每个人的时间,我会非常乐意删除这个问题并忘记它曾经存在过。提前致谢!