一套用于测试烧瓶应用的py.测试夹具。

pytest-flask的Python项目详细描述


一套用于测试烧瓶的pytest夹具 扩展和应用。

功能

plugin提供了一些设备来简化应用程序测试:

  • client-实例app.test_client
  • client_class-client用于基于类的测试的fixture,
  • config-应用程序配置,
  • live_server-在后台运行应用程序(对测试有用 使用Selenium和其他无头浏览器,
  • request_ctx-请求上下文,
  • accept_jsonaccept_jsonpaccept_any-接受标题 适合用作client中的参数。

要向应用程序传递选项,请使用pytest.mark.options标记:

@pytest.mark.options(debug=False)deftest_app(app):assertnotapp.debug,'Ensure the app not in debug mode'

在测试执行期间,请求上下文已被推送,例如url_forsession和其他上下文绑定对象在没有上下文的情况下可用 经理:

deftest_app(client):assertclient.get(url_for('myview')).status_code==200

response对象有一个json属性来测试返回 json响应:

@api.route('/ping')defping():returnjsonify(ping='pong')deftest_api_ping(client):res=client.get(url_for('api.ping'))assertres.json=={'ping':'pong'}

如果您希望通过selenium或其他无头浏览器进行测试,请使用 live_server设备。可以使用 url_for函数:

fromflaskimporturl_for@pytest.mark.usefixtures('live_server')classTestLiveServer:deftest_server_is_up_and_running(self):res=urllib2.urlopen(url_for('index',_external=True))assertb'OK'inres.read()assertres.code==200

快速启动

要开始使用插件,请在conftest.py

中定义应用程序fixture
frommyappimportcreate_app@pytest.fixturedefapp():app=create_app()returnapp

安装带有依赖项的扩展并运行您的测试套件:

$ pip install pytest-flask
$ py.test

贡献

不要犹豫为任何bug创建一个GitHub issue,或者 建议

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

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用