V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
herozem
V2EX  ›  Python

restful api 一般怎么测试?

  •  
  •   herozem · 2016-02-24 20:37:02 +08:00 · 7896 次点击
    这是一个创建于 3228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天写了点 API ,但是测试的时候是自己手动对着数据,然后分别测试 get/post/delete/put ,然后看有没有出错。

    有没有更高效的测试方法?

    以及自动化?求教

    17 条回复    2017-12-25 14:50:47 +08:00
    ahxxm
        1
    ahxxm  
       2016-02-24 20:40:39 +08:00
    先把需求写成测试就好了
    herozem
        2
    herozem  
    OP
       2016-02-24 21:30:15 +08:00
    @ahxxm 不懂,能说详细点吗?如果光是调用函数倒是挺简单的,但是要保证比如 PUT 修改了某数据,要验证最后一定修改了。不知道要怎么比较方便高效的写测试。
    ipconfiger
        3
    ipconfiger  
       2016-02-24 21:37:29 +08:00
    没有银弹, 不要想着省力, 任何偷懒的想法只会换来更大的坑
    zyx89513
        4
    zyx89513  
       2016-02-24 21:41:16 +08:00
    codeception.com 我用的这个, 有专门的 rest 测试模块
    jarlyyn
        5
    jarlyyn  
       2016-02-24 21:42:14 +08:00
    写单元测试?

    api 的一大有点不就是适合做单元测试么?
    janxin
        6
    janxin  
       2016-02-24 21:50:02 +08:00
    事实上我用单元测试形式做过,也用 requests 直接手撸过

    工具的话 pyresttest 这样描述性的也 ok
    haozhang
        7
    haozhang  
       2016-02-24 21:52:55 +08:00
    以先测试功能函数,然后做 mock 测试,最后模拟 UA 测试。在调试的时候可以用 postman 这个 chrome 插件。
    yuetsh
        8
    yuetsh  
       2016-02-24 22:03:17 +08:00
    rest console tool
    zhangneww
        9
    zhangneww  
       2016-02-24 22:05:07 +08:00
    postman +1
    herozem
        10
    herozem  
    OP
       2016-02-24 23:17:20 +08:00
    @haozhang
    @zhangneww 嗯,我也在用 postman ,不过每次都要对着每一个 get/post 过一遍,还是有些错误会漏掉。
    @yuetsh 看了一下好像和 postman 差不多。
    @janxin
    @jarlyyn 要想准确的话好像只能写单元测试了,每次输入指定的数据,然后对其发起 get,post 等操作,对比结果,然后吧它们删了
    @zyx89513 我用的是 Python ~_~还不会 php
    thomaspaine
        11
    thomaspaine  
       2016-02-24 23:57:28 +08:00
    @herozem swagger ?或者 RAML?
    最理想的情况是接口文档写好了,测试例子在里面,然后调用工具直接测试
    darluc
        12
    darluc  
       2016-02-25 00:02:34 +08:00
    mocha + chai
    darluc
        13
    darluc  
       2016-02-25 00:03:44 +08:00
    frisby ?
    stellar
        14
    stellar  
       2016-02-25 09:27:22 +08:00
    postman 或者 jmeter
    fwee
        15
    fwee  
       2016-02-25 10:22:21 +08:00
    安利个简单易用自动化的 https://github.com/jjyr/zerotest
    bullettrain1433
        16
    bullettrain1433  
       2016-02-25 16:13:34 +08:00
    jmeter
    domwang
        17
    domwang  
       2017-12-25 14:50:47 +08:00
    很多 REST Client 是不支持自动化测试 RESTful API,也不支持自动生成 API 文档.
    WisdomTool REST Client,支持自动化测试 RESTful API,输出精美的测试报告,并且自动生成精美的 RESTful API 文档。
    轻量级的工具,功能却很精悍哦!
    https://github.com/wisdomtool/rest-client
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.