pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<i id='404Ly'><tr id='404Ly'><dt id='404Ly'><q id='404Ly'><span id='404Ly'><b id='404Ly'><form id='404Ly'><ins id='404Ly'></ins><ul id='404Ly'></ul><sub id='404Ly'></sub></form><legend id='404Ly'></legend><bdo id='404Ly'><pre id='404Ly'><center id='404Ly'></center></pre></bdo></b><th id='404Ly'></th></span></q></dt></tr></i><div class="es6w0co" id='404Ly'><tfoot id='404Ly'></tfoot><dl id='404Ly'><fieldset id='404Ly'></fieldset></dl></div>

    <small id='404Ly'></small><noframes id='404Ly'>

      <bdo id='404Ly'></bdo><ul id='404Ly'></ul>

    <legend id='404Ly'><style id='404Ly'><dir id='404Ly'><q id='404Ly'></q></dir></style></legend>

        <tfoot id='404Ly'></tfoot>

        Mockito 如何僅模擬超類(lèi)方法的調(diào)用

        Mockito How to mock only the call of a method of the superclass(Mockito 如何僅模擬超類(lèi)方法的調(diào)用)

        <tfoot id='ksYBT'></tfoot>

        • <bdo id='ksYBT'></bdo><ul id='ksYBT'></ul>
                  <tbody id='ksYBT'></tbody>

                  <small id='ksYBT'></small><noframes id='ksYBT'>

                  <legend id='ksYBT'><style id='ksYBT'><dir id='ksYBT'><q id='ksYBT'></q></dir></style></legend>
                  <i id='ksYBT'><tr id='ksYBT'><dt id='ksYBT'><q id='ksYBT'><span id='ksYBT'><b id='ksYBT'><form id='ksYBT'><ins id='ksYBT'></ins><ul id='ksYBT'></ul><sub id='ksYBT'></sub></form><legend id='ksYBT'></legend><bdo id='ksYBT'><pre id='ksYBT'><center id='ksYBT'></center></pre></bdo></b><th id='ksYBT'></th></span></q></dt></tr></i><div class="yq0ik2w" id='ksYBT'><tfoot id='ksYBT'></tfoot><dl id='ksYBT'><fieldset id='ksYBT'></fieldset></dl></div>

                  本文介紹了Mockito 如何僅模擬超類(lèi)方法的調(diào)用的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

                  問(wèn)題描述

                  我在一些測(cè)試中使用了 Mockito.

                  I'm using Mockito in some tests.

                  我有以下課程:

                  class BaseService {  
                      public void save() {...}  
                  }
                  
                  public Childservice extends BaseService {  
                      public void save(){  
                          //some code  
                          super.save();
                      }  
                  }   
                  

                  我只想模擬 ChildService 的第二次調(diào)用 (super.save).第一次調(diào)用必須調(diào)用真正的方法.有沒(méi)有辦法做到這一點(diǎn)?

                  I want to mock only the second call (super.save) of ChildService. The first call must call the real method. Is there a way to do that?

                  推薦答案

                  不,Mockito 不支持這個(gè).

                  No, Mockito does not support this.

                  這可能不是您要尋找的答案,但您看到的是未應(yīng)用設(shè)計(jì)原則的癥狀:

                  This might not be the answer you're looking for, but what you're seeing is a symptom of not applying the design principle:

                  優(yōu)先組合優(yōu)于繼承

                  如果您提取策略而不是擴(kuò)展超類(lèi),問(wèn)題就消失了.

                  If you extract a strategy instead of extending a super class the problem is gone.

                  如果你不被允許更改代碼,但無(wú)論如何你必須測(cè)試它,并且以這種尷尬的方式,仍然有希望.使用一些 AOP 工具(例如 AspectJ),您可以將代碼編織到超類(lèi)方法中并完全避免其執(zhí)行(糟糕).如果您使用代理,這不起作用,您必須使用字節(jié)碼修改(加載時(shí)編織或編譯時(shí)編織).也有一些模擬框架支持這種類(lèi)型的技巧,例如 PowerMock 和 PowerMockito.

                  If however you are not allowed to change the code, but you must test it anyway, and in this awkward way, there is still hope. With some AOP tools (for example AspectJ) you can weave code into the super class method and avoid its execution entirely (yuck). This doesn't work if you're using proxies, you have to use bytecode modification (either load time weaving or compile time weaving). There are be mocking frameworks that support this type of trick as well, like PowerMock and PowerMockito.

                  我建議您進(jìn)行重構(gòu),但如果這不是一個(gè)選項(xiàng),您可以享受一些嚴(yán)肅的黑客樂(lè)趣.

                  I suggest you go for the refactoring, but if that is not an option you're in for some serious hacking fun.

                  這篇關(guān)于Mockito 如何僅模擬超類(lèi)方法的調(diào)用的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  How can I detect integer overflow on 32 bits int?(如何檢測(cè) 32 位 int 上的整數(shù)溢出?)
                  Local variables before return statements, does it matter?(return 語(yǔ)句之前的局部變量,這有關(guān)系嗎?)
                  How to convert Integer to int?(如何將整數(shù)轉(zhuǎn)換為整數(shù)?)
                  How do I create an int array with randomly shuffled numbers in a given range(如何在給定范圍內(nèi)創(chuàng)建一個(gè)隨機(jī)打亂數(shù)字的 int 數(shù)組)
                  Inconsistent behavior on java#39;s ==(java的行為不一致==)
                  Why is Java able to store 0xff000000 as an int?(為什么 Java 能夠?qū)?0xff000000 存儲(chǔ)為 int?)

                  <small id='G6x8d'></small><noframes id='G6x8d'>

                    <tfoot id='G6x8d'></tfoot>
                      <tbody id='G6x8d'></tbody>

                      <bdo id='G6x8d'></bdo><ul id='G6x8d'></ul>
                      <legend id='G6x8d'><style id='G6x8d'><dir id='G6x8d'><q id='G6x8d'></q></dir></style></legend>

                          • <i id='G6x8d'><tr id='G6x8d'><dt id='G6x8d'><q id='G6x8d'><span id='G6x8d'><b id='G6x8d'><form id='G6x8d'><ins id='G6x8d'></ins><ul id='G6x8d'></ul><sub id='G6x8d'></sub></form><legend id='G6x8d'></legend><bdo id='G6x8d'><pre id='G6x8d'><center id='G6x8d'></center></pre></bdo></b><th id='G6x8d'></th></span></q></dt></tr></i><div class="g2i2kou" id='G6x8d'><tfoot id='G6x8d'></tfoot><dl id='G6x8d'><fieldset id='G6x8d'></fieldset></dl></div>
                            主站蜘蛛池模板: 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 杭州|上海贴标机-百科| 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 好杂志网-首页| 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 双舌接地线-PC68数字式高阻计-ZC36|苏海百科 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 上海噪音治理公司-专业隔音降噪公司-中广通环保 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 高博医疗集团上海阿特蒙医院 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 |