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
warcraft1236
V2EX  ›  Python

Python Behave 框架写的自动化测试,有必要上 ORM 吗?

  •  
  •   warcraft1236 · 2018-12-24 11:54:13 +08:00 · 1789 次点击
    这是一个创建于 2153 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,最近在看 PonyORM,感觉测试的代码中加入 ORM 有很多不方便的地方啊,也可能是不会用,求教
    3 条回复    2018-12-25 10:28:05 +08:00
    xpresslink
        1
    xpresslink  
       2018-12-24 13:37:26 +08:00
    ORM 最大的好处是:摆脱了裸写 SQL 造成的对特定数据库方言的依赖,便于在不同数据库之间迁移或部署。
    只有一两个表的情况用 ORM 没有太大意义体现不出来什么优势。大量的表和关系要管理时候用起来才值得。还有就是多人合作的项目中便于统一接口集中控制。
    目前建议你用 sqlalchemy,这种冷门的 ORM 最好别学,大概率耽误功夫。
    warcraft1236
        2
    warcraft1236  
    OP
       2018-12-24 19:05:57 +08:00
    @xpresslink sqlalchemy 听说非常难用,PonyORM peewee 稍微简单点
    xpresslink
        3
    xpresslink  
       2018-12-25 10:28:05 +08:00
    @warcraft1236 要说 python 的 ORM 库里面 sqlacchemy 基本上是事实标准,你要是用的生产环境以后也有很多需求,非它莫数, 能很好地支持事务和分表就这两项其它的 ORM 就没的比。Pony 和 peewee 之类的只是小玩具。而且 sqlalchemy 在其它好几语言都有实现比如 golang 之类的。
    另一个好用的 ORM 就算是 Django 内置带的那个了,其实是从 RoR 那里克隆来的用的 Active Record 方式,上手容易文档丰富,用起来比较直观,不象 sqlachemy 那么拧巴。因为 sqlachemy 用的 data mapper 实现,必须使用另外的持久层来保持与数据库的交互,好处是代码和数据库也是完全隔离的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2476 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:55 · PVG 23:55 · LAX 07:55 · JFK 10:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.