向http客户端添加单元测试

httptest的Python项目详细描述


高温试验

Build Statuscodecov

http测试的灵感来自golang的httptest包。支持包装异步 协程函数(async def)。

用法

简单的HTTP服务器处理程序

importunittestimporturllib.requestimporthttptestclassTestHTTPServer(httptest.Handler):defdo_GET(self):self.send_response(200)self.send_header("Content-type","text/plain")self.end_headers()self.wfile.write(bytes("what up","utf-8"))classTestHTTPTestMethods(unittest.TestCase):@httptest.Server(TestHTTPServer)deftest_call_response(self,ts=httptest.NoServer()):withurllib.request.urlopen(ts.url())asf:self.assertEqual(f.read().decode('utf-8'),"what up")if__name__=='__main__':unittest.main()

异步支持

对unittest包的异步支持尚未在Python中实现。 python/issue32972

如果您想快速添加asyncio测试用例,可以导入helper 从intel/dffml开始。

importunittestimporturllib.requestfromdffml.util.asynctestcaseimportAsyncTestCaseimporthttptestclassTestHTTPServer(httptest.Handler):defdo_GET(self):self.send_response(200)self.send_header("Content-type","text/plain")self.end_headers()self.wfile.write(bytes("what up","utf-8"))classTestHTTPTestMethods(AsyncTestCase):@httptest.Server(TestHTTPServer)asyncdeftest_call_response(self,ts=httptest.NoServer()):withurllib.request.urlopen(ts.url())asf:self.assertEqual(f.read().decode('utf-8'),"what up")if__name__=='__main__':unittest.main()

在项目的setup.py中,在tests_require中添加dffml

setup(name='your_package',...tests_require=['httptest>=0.0.14','dffml>=0.1.2'])

自动安装

如果您正在制作一个python包,则需要将httptest添加到 setup.py文件的tests_require部分

这样,当运行python setup.py testsetuptools将安装 httptest如果尚未安装,请在程序包本地目录中。

setup(name='your_package',...tests_require=['httptest>=0.0.14'])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无JPA的纯Hibernate ORM java SpringBoot配置   安卓会生成一组唯一的java数字   java我的自定义阵列列表每次启动时都会崩溃我不确定为什么会一直崩溃   Java继承;将子类传递给超类的抽象方法   java从没有if语句的数组中获取instanceof type   java中使用对象的温度转换   存储库接口的JavaSpringDataMongoDBeanXML配置   java JAXWS为iBM websphere、iBM web服务客户端添加寻址   数组试图返回Java中两个对象的面积之和   apache Spark java:columnNameOfCorruptRecord和badRecordsPath在加载csv时不工作   java无法创建。txt文件   java Hibernate与MySQL插入查询不一致   不考虑java Hazelcast分布式地图的最大大小   bash Java如何在父进程中设置环境变量