V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mianju
V2EX  ›  程序员

想请教 travis-ci 的用法

  •  
  •   mianju ·
    xinqiu · 2015-12-01 12:46:14 +08:00 · 2871 次点击
    这是一个创建于 3062 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在学 Flask ,所以想用用自动构建。对于自动构建我不是很了解,想问一下是不是要写测试文件才有用?我无知的想法是认为代码能编译成功就能 pass , 233 。

    BTW :还在本科阶段,感觉老师都没提到过单元测试,所以对这块自己也不是很理解。记得看到过一篇文章,说大一老师就强迫要写单元测试了。好像工作中单元测试还挺重要的,希望有大牛能来简单指点一下。问题已自行百度谷歌过,只是想看看 v 友对单元测试是什么理解。

    8 条回复    2015-12-02 14:03:12 +08:00
    janxin
        1
    janxin  
       2015-12-01 13:34:53 +08:00   ❤️ 1
    对 Python 来说,能跑!=能用,很多动态类型,手误写错了不执行的时候是不知道的。所以, travis-ci 一定要配合测试才能用。

    单元测试的理解应该讨论太多了,没啥好说的
    neoblackcap
        2
    neoblackcap  
       2015-12-01 15:13:44 +08:00
    对所有的程序来说,能跑!=能用。哪怕你写了单元测试,那样一样不能说你写的就是对的,测试还会分单元测试,集成测试。

    建议先写单元测试,后面在慢慢上集成测试,同时使用 coverage ,尽量使测试覆盖率到达 100%。

    绝对的正确唯有定理证明,将你的需求转换为一个定理,然后编写程序去证明它,若是证明出来了,那么你就不用写什么测试了。你的程序必然是对的,但是这个领域就有点远了。
    msg7086
        3
    msg7086  
       2015-12-01 16:54:41 +08:00 via Android
    还有他的姐妹站 coveralls 呢。
    主要就是写 unit tests 和 feature tests ,然后每次你修改代码的时候他都会帮你跑一遍测试,这样容易发现问题。
    gaocegege
        4
    gaocegege  
       2015-12-01 18:44:05 +08:00
    其实一直不知道在 travis 上,数据库连接的问题有没有什么 awesome 的解决方法
    mianju
        5
    mianju  
    OP
       2015-12-01 18:50:49 +08:00
    @janxin
    @neoblackcap
    @msg7086
    谢谢了,可能是还没学到那么高深的东西,测试这块还是不是很懂😔,只能以后慢慢来学习了
    msg7086
        6
    msg7086  
       2015-12-01 21:09:54 +08:00
    @gaocegege 你想解决什么问题?

    @mianju 去试试测试驱动开发吧。
    单元测试一般用来测试组件是否工作正常。比如你写了一个专门处理某个资源的类,那么要确定这个类是否如期工作,一般就用单元测试来保证。单元测试应该是特别简单特别快的,至少是每秒可以跑十几个测试的那种。
    集成测试,或者叫 Feature test ,一般用来测试系统的某个功能特性是否正常。比如你网站支持上传文件,那么某个特性测试就是你打开某个页面,点击上传,然后检查页面上是否出现了新上传的文件 —— 当然了,这一切都是自动化完成测试的。

    另外,不要太依赖「老师」的知识。大学的实践体系是一个落后严重的体系,因为软件行业发展太迅速,你经常会遇到最近三五年,甚至有时候是最近一两年才出来的新技术新概念,所以还是尽量以自学研究为主吧。
    neoblackcap
        7
    neoblackcap  
       2015-12-01 23:34:55 +08:00 via iPhone
    @gaocegege 将所有的数据库连接要不 mock 要不 stub
    mianju
        8
    mianju  
    OP
       2015-12-02 14:03:12 +08:00
    @msg7086 在自学中,光是看英文的 CSAPP 就占据了我大部分时间,所以暂时没太多精力学一些东西> <.看 Python Flask Web Development 纯粹是业余消遣看看的,结果发现有很多坑要填
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2814 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:57 · PVG 21:57 · LAX 06:57 · JFK 09:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.