[Java]测试 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
andrewzhou
V2EX    Java

[Java]测试

  •  
  •   andrewzhou 2016-09-03 13:38:01 +08:00 3650 次点击
    这是一个创建于 3375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在做的项目测试超级慢,主要原因是要大量访问外部网络获得 json 数据。一个测试下来需要两个小时。 分析了一下 1 ,如果网络访问稳定,测试时间会缩短非常多 2 ,另外获取的 json 基本上内容不会变化(暂时先认为不会变好了) 3 ,访问网络是被测试程序主动调用的,并且是通过继承一个抽象类,抽象类实现了网络访问部分的功能( doGet / doPost ),子类是对获取数据的解析。

    现在是想在测试的时候,替换掉 doGet / doPost 函数,看本地是否存储之前已经得到的数据,如果有直接返回,如果没有就继续访问网络。 本来以为 PowerMock 之类的可以做但是看了半天没找到能满足我需求的 api 。 求助各位大神是不是有其他工具或者是 PowerMock 能够做到这个功能。

    doGet / doPost 这部分不是测试的目标,但是不希望修改这部分代码, 另外继承自抽象类的具体之类比较多 :|, 每个之类都会构造大量实例。

    9 条回复    2016-09-04 15:57:21 +08:00
    crytis
        1
    crytis  
       2016-09-03 15:38:52 +08:00 via iPhone
    要不然把数据写死,写到代码里。要不然弄一个 mock 接口, url 写到不同的配置文件里
    andrewzhou
        2
    andrewzhou  
    OP
       2016-09-03 15:43:19 +08:00
    @crytis 数据量预估有 100M + 而且会定期更新, mock 接口 url 写到不同的配置文件是什么意思。 我现在是想在本地搞一个类似于缓存的东西,并且有选择的截断网络访问直接从缓存出内容。来加快测试速度,之前把 url 改了写了一个类似于代理的东西速度加快了很多,但是这种方式要改被测试部分
    crytis
        3
    crytis  
       2016-09-03 15:59:46 +08:00 via iPhone
    @andrewzhou 一个接口 100MB ?
    andrewzhou
        4
    andrewzhou  
    OP
       2016-09-03 16:15:19 +08:00
    @crytis 测试的时候需要从网络获取的数据总量有 100M+, 这个就是头疼的地方 网络很慢,容易超时,拿到的数据也不一定完整,导致测试跑一遍花很多时间
    andrewzhou
        5
    andrewzhou  
    OP
       2016-09-03 16:45:50 +08:00
    看了半天文档 似乎 JMockit Delegates: specifying custom results 能做这件事,继续研究
    johnzh
        6
    johnzh  
       2016-09-03 17:02:18 +08:00
    搜下 wiremock 或者 mock server 看看呢
    zacard
        7
    zacard  
       2016-09-03 20:14:45 +08:00 via iPhone
    你需要 mockito
    zjqzxc
        8
    zjqzxc  
       2016-09-04 01:33:39 +08:00
    改测试机上的 hosts 指向本机或者一个局域网的机器?
    chocotan
        9
    chocotan  
       2016-09-04 15:57:21 +08:00
    mockito+1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4163 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:03 PVG 09:03 LAX 17:03 JFK 20:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86