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

对于 Web 系统写单元测试

  •  
  •   ray1888 ·
    ray1888 · 2018-08-14 10:26:57 +08:00 · 3141 次点击
    这是一个创建于 2294 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于 Web 系统,大家是怎样去写单元测试?是把每个接口里面的处理数据数据类单独写完单元测试(假设一个接口中有多个数据类需要处理),然后再用 api 测试(我可以理解为集成测试)?还是直接只做 api 测试,看输入输出?

    9 条回复    2018-08-14 14:30:25 +08:00
    MarksGui
        1
    MarksGui  
       2018-08-14 10:33:28 +08:00
    关注一下
    casztg
        2
    casztg  
       2018-08-14 10:49:46 +08:00
    我也想知道。。。一直以来都是 API 测试。。。。。。。。。
    dev 环境
    cn 测试环境
    预发布环境
    线上环境
    lcorange
        3
    lcorange  
       2018-08-14 11:33:55 +08:00
    我写 spring boot 的时候,rest 层基本没有任何代码,除了格式转换,就是直接调用 manager 或 service 里面的函数。
    所以代码里用 JUnit 覆盖所有 manager、service 和 dao 的代码。
    至于 rest 层我就用 postman 批量运行,随便测测格式转换是否有问题。
    limuyan44
        4
    limuyan44  
       2018-08-14 12:12:29 +08:00 via Android
    你怎么知道单元测试对不对,是不是得给单元测试写单测,无限循环中
    tinywhale
        5
    tinywhale  
       2018-08-14 12:20:35 +08:00
    用 elixir 的人表示这根本不是个问题,在原有的基础上加性能测试就好了
    nine
        6
    nine  
       2018-08-14 12:32:18 +08:00
    API 级别的和业务级别的都要有。
    如果业务不稳定,可以先只写 API 级别的。

    测试用例要求覆盖所有异常情况。
    hgzz
        7
    hgzz  
       2018-08-14 12:43:22 +08:00
    Mock 工具 Mockito 和 PowerMock
    leekafai
        8
    leekafai  
       2018-08-14 12:45:41 +08:00
    两个都可以,API 测试是为了确认最终暴露数据的正确性,单元测是为了测试抽象方法的可靠性,如果代码复用率低,例如大部分逻辑直接写到路由去,这个时候写单元测试还要去先抽象。
    ray1888
        9
    ray1888  
    OP
       2018-08-14 14:30:25 +08:00
    @leekafai 我现在就是遇到你说的后面的那个问题,如果我想有效单元测试,需要先把那些根据功能全部拆分到类中才能测试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:53 · PVG 03:53 · LAX 11:53 · JFK 14:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.