编程语言
首页 > 编程语言> > 你会如何在Python中模拟一个Web应用程序(用于测试Django项目)

你会如何在Python中模拟一个Web应用程序(用于测试Django项目)

作者:互联网

我在Django中的应用程序从另一个应用程序的HTML中删除和导入数据.我测试了每个解析函数,并希望测试将通过其他应用程序的爬虫.在此之后,我想进行一些集成测试.为了使测试尽可能容易运行,我想通过创建一个小的Web应用程序来模拟导入的Web应用程序,该应用程序提供一些硬编码的HTML并具有我将要经历的所有路径.

编辑:此外,我的模拟必须有一些小动态行为 – 例如,测试失败和成功登录.所以我不能只提供静态文件.

你会如何创建这样的模拟应用程序?你会继承BaseHTTPServer吗? CGI?使用一些框架(斜纹,使用Quixote)?或者使用Django是合理的吗?这是我正在考虑使用的解决方案,但Django对于这样的问题似乎太复杂了; OTOH,另一个框架对于这样的小需求将是一个过于依赖的依赖,并且BaseHTTPServer太难以使用了.

第二次编辑:我对嘲笑课程,请求等不感兴趣.这不是我想要使用的方法,并且使用这种方法的建议不是我的答案(尽管我很感激善良的人们建议我,直到现在).如果想想我的问题太难了,那就忘记我谈到了测试 – 你如何粗略地使用Python模拟一个Web应用程序?

解决方法:

我认为你在嘲笑错误的程度.您的单元测试不应该完全依赖于外部Web服务器,即使您专门为测试运行它也是如此.您应该将urllib2.Request对象(或者您正在使用的任何实际HTTP调用)替换为仅返回预先封装数据的对象,包括无效登录的相关响应.

标签:python,django,testing,mocking,basehttpserver
来源: https://codeday.me/bug/20190518/1126730.html