V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lslvxy
V2EX  ›  程序员

求教一个 IDEA 执行测试用例的问题

  •  
  •   lslvxy · 2022-09-16 11:34:58 +08:00 · 1061 次点击
    这是一个创建于 828 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个项目,启动要 5min+时间,修改完 case 执行一下也需要 5min+,太浪费时间了

    有没有什么办法能执行 case 的时候不用重新 spring 容器

    3 条回复    2022-09-16 16:17:59 +08:00
    spike2017
        1
    spike2017  
       2022-09-16 14:24:21 +08:00
    所有 case 写在一个类
    freeminder
        2
    freeminder  
       2022-09-16 14:41:22 +08:00
    哈哈哈这个我知道,最近刚弄完
    1. 写一个 testcase ,包一层 for 循环 N 次, 调用真正的 doTest 方法,在 doTest 下断点调试
    2. 在需要修改的文件上改动代码,改完之后右键 recompile ,会弹框提示是不是 reload ,在这个时候放开断点会执行新的代码;不同版本不一样,有个 debugger 热键 compile and reload
    一些备注:
    1. 步骤一的循环 N 次也可以配置 run/debug 参数里面 repeat 多少次,但是有个问题是停止 debug 要点两下,不然会 repeat 完
    2. idea 的 reload 文档 https://www.jetbrains.com/help/idea/altering-the-program-s-execution-flow.html#reload_classes
    3. 文档里面有 HotSwap limitations 注意看,部分修改是不可 reload 的,可以调试的时候避开类似的修改,最后全写完再重构一下
    4. 步骤 3 的限制可以通过替换 vm 实现 DCEVM

    看你想折腾什么样子了,这个直接在 vm+debug 上改感觉和框架无关很爽
    lslvxy
        3
    lslvxy  
    OP
       2022-09-16 16:17:59 +08:00
    @freeminder 这方法不错,我试一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:10 · PVG 18:10 · LAX 02:10 · JFK 05:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.