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

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

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

      <tfoot id='ba8ck'></tfoot>
    2. 如何將模擬注入具有@Transactional 的@Service

      How to inject mock into @Service that has @Transactional(如何將模擬注入具有@Transactional 的@Service)
    3. <tfoot id='DflMM'></tfoot>
        <bdo id='DflMM'></bdo><ul id='DflMM'></ul>
        1. <small id='DflMM'></small><noframes id='DflMM'>

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

              • 本文介紹了如何將模擬注入具有@Transactional 的@Service的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我的單元測試中有任何問題,我有類似的東西.如果 blargh 函數使用 Transactional 注釋,則模擬注入會在 someService 上被覆蓋.如果我刪除 Transactional ,則模擬會留在那里.從代碼中可以看出,當服務中的函數被注釋為事務時,Spring 會延遲加載服務,但在沒有注釋時會急切地加載服務.這會覆蓋我注入的模擬.

                I have any issue in my unit test where I have something along the lines of this. The mock injection get overridden on the someService if the blargh function is annotated with Transactional. If I remove the Transactional the mock stays there. From watching the code it appears that Spring lazily loads the services when a function in the service is annotated with transactinal, but eagerly loads the services when it isn't. This overrides the mock I injected.

                有沒有更好的方法來做到這一點?

                Is there a better way to do this?

                @Component
                public class SomeTests
                {
                  @Autowired
                  private SomeService someService;
                
                  @Test
                  @Transactional
                  public void test(){
                    FooBar fooBarMock = mock(FooBar.class);
                    ReflectionTestUtils.setField(someService, "fooBar", fooBarMock);
                  }
                }
                
                @Service
                public class someService
                {
                  @Autowired FooBar foobar;
                
                  @Transactional // <-- this causes the mocked item to be overridden
                  public void blargh()
                  {
                    fooBar.doStuff();
                  }
                }
                

                推薦答案

                或許您可以嘗試通過以下方式實現您的測試:

                Probably you could try to implement your test in the following way:

                @Component
                @RunWith(MockitoJUnitRunner.class)
                public class SomeTests
                {
                  @Mock private FooBar foobar;
                  @InjectMocks private final SomeService someService = new SomeService();
                
                
                  @Test
                  @Transactional
                  public void test(){
                    when(fooBar.doStuff()).then....;
                    someService.blargh() .....
                  }
                }
                

                由于沒有您的配置和相關代碼,我現在無法嘗試.但這是測試服務邏輯的常用方法之一.

                I could not try it right now as don't have your config and related code. But this is one of the common way to test the service logic.

                這篇關于如何將模擬注入具有@Transactional 的@Service的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

                相關文檔推薦

                How can I detect integer overflow on 32 bits int?(如何檢測 32 位 int 上的整數溢出?)
                Local variables before return statements, does it matter?(return 語句之前的局部變量,這有關系嗎?)
                How to convert Integer to int?(如何將整數轉換為整數?)
                How do I create an int array with randomly shuffled numbers in a given range(如何在給定范圍內創建一個隨機打亂數字的 int 數組)
                Inconsistent behavior on java#39;s ==(java的行為不一致==)
                Why is Java able to store 0xff000000 as an int?(為什么 Java 能夠將 0xff000000 存儲為 int?)
              • <small id='GOUvT'></small><noframes id='GOUvT'>

                    • <bdo id='GOUvT'></bdo><ul id='GOUvT'></ul>
                      <legend id='GOUvT'><style id='GOUvT'><dir id='GOUvT'><q id='GOUvT'></q></dir></style></legend>
                          <tbody id='GOUvT'></tbody>

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

                        • 主站蜘蛛池模板: 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 雷冲击高压发生器-水内冷直流高压发生器-串联谐振分压器-武汉特高压电力科技有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 视频直播 -摄影摄像-视频拍摄-直播分发 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 爱科技iMobile-专业的科技资讯信息分享网站 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 自动气象站_气象站监测设备_全自动气象站设备_雨量监测站-山东风途物联网 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 超声波反应釜【百科】-以马内利仪器| IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 冷油器-冷油器换管改造-连云港灵动列管式冷油器生产厂家 | 微动开关厂家-东莞市德沃电子科技有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 |