【发布时间】:2011-11-25 19:26:57
【问题描述】:
我在 Django 中的应用程序从另一个应用程序的 HTML 中抓取并导入数据。我测试了每个解析函数,并想测试将通过其他应用程序的爬虫。在此之后,我想做一些集成测试。为了使测试尽可能容易运行,我想通过创建一个小 Web 应用程序来模拟导入的 Web 应用程序,该 Web 应用程序提供一些硬编码的 HTML 并具有我将要经过的所有路径。
编辑:另外,我的模拟必须有一些小的动态行为 - 例如,用于测试失败和成功的登录。所以我不能只提供静态文件。
您将如何创建这样一个模拟应用程序?你会继承BaseHTTPServer 吗?电脑动画?使用一些框架(如斜纹布,使用 Quixote)?或者使用 Django 是否合理?那是我正在考虑使用的解决方案,但是对于这样的问题,Django 似乎太复杂了; OTOH,对于如此小的需求,另一个框架将过于依赖,而BaseHTTPServer 太原始而无法使用。
第二次编辑:我对模拟类、请求等不感兴趣。这不是我想要使用的方法,使用这种方法的建议不是我的答案(虽然我很感谢那些好心地建议我这样做的好心人直到现在)。如果想我的问题太难了,就忘了我谈到了测试 - 你如何使用 Python 粗略地模拟一个 Web 应用程序一般?
【问题讨论】:
-
看看seleniumhq.org。 selenium 用于各种组织中的现代浏览器应用程序测试。
-
@GagandeepSingh 这不是我想要的。我不需要模拟浏览器,而是模拟服务器端应用程序。
-
我知道这一点,但如果您不朝那个方向思考,我想提供可能可用的选项。不过,记住网络应用测试的解决方案是件好事。
标签: python django testing mocking basehttpserver