用于测试web客户端的模拟web服务器
webmock的Python项目详细描述
webmock这个工具在一个短暂的端口上提供一个进程中的wsgi服务器。
它用于单元测试中,当被测系统建立出的http连接不易被模仿时。
创建一个wsgi应用程序,该应用程序表示您要创建的假web服务器。
这比看上去简单;例如:
def simple_app(environ,start_response):
status='200 ok'
headers=[('content-type','text/plain')]
start_response(status,headers)
return['hello,world!\ n']
接下来,激活测试服务器。
有几种方法可以做到这一点,但是它们都会产生一个端口号。
@模拟服务器(简单应用)
def test_web_请求(端口):
my_client.get_greeting('http://127.0.0.1:{}'。格式(端口))
>或手动启动和停止::
server.start()
my_client.get掼greeting('http://127.0.0.1:{}.format(port))
server.stop()
并允许测试在操作完成后进行断言。
其用法很简单:
mock app
app=mockapp()
使用mock_server(app):
..
app.assert_called_with('get/foo/bar')
请求已发出,并且它匹配``call`
*``assert``any`call(call)``--断言any请求匹配``call`
*``assert``has`u call([call,call,…],any`order=false)``--断言给定的调用都已发生。
如果``any order``为false,调用必须是连续的。
可以用包含方法和路径的字符串来描述调用。
模拟应用程序的行为可以通过一些小的方式进行调整。
对于任何更复杂的应用程序,请构建自定义的wsgi应用程序。
*``mock app(response='403 forbidden')``--自定义http响应(默认为“200 ok”)
*`` mockapp(body='hello world\n')`--自定义响应体(默认为空)
*`` mockapp(headers=[('x-auth','abc123')]`--自定义响应头
它用于单元测试中,当被测系统建立出的http连接不易被模仿时。
创建一个wsgi应用程序,该应用程序表示您要创建的假web服务器。
这比看上去简单;例如:
def simple_app(environ,start_response):
status='200 ok'
headers=[('content-type','text/plain')]
start_response(status,headers)
return['hello,world!\ n']
接下来,激活测试服务器。
有几种方法可以做到这一点,但是它们都会产生一个端口号。
@模拟服务器(简单应用)
def test_web_请求(端口):
my_client.get_greeting('http://127.0.0.1:{}'。格式(端口))
>或手动启动和停止::
server.start()
my_client.get掼greeting('http://127.0.0.1:{}.format(port))
server.stop()
并允许测试在操作完成后进行断言。
其用法很简单:
mock app
app=mockapp()
使用mock_server(app):
..
app.assert_called_with('get/foo/bar')
请求已发出,并且它匹配``call`
*``assert``any`call(call)``--断言any请求匹配``call`
*``assert``has`u call([call,call,…],any`order=false)``--断言给定的调用都已发生。
如果``any order``为false,调用必须是连续的。
可以用包含方法和路径的字符串来描述调用。
模拟应用程序的行为可以通过一些小的方式进行调整。
对于任何更复杂的应用程序,请构建自定义的wsgi应用程序。
*``mock app(response='403 forbidden')``--自定义http响应(默认为“200 ok”)
*`` mockapp(body='hello world\n')`--自定义响应体(默认为空)
*`` mockapp(headers=[('x-auth','abc123')]`--自定义响应头