国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot Junit單元測(cè)試默認(rèn)事務(wù)不提交

這篇具有很好參考價(jià)值的文章主要介紹了springboot Junit單元測(cè)試默認(rèn)事務(wù)不提交。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、Junit初次使用

因?yàn)橐郧翱傆X得Junit單元測(cè)試配置比較繁瑣,代碼功能大多使用main方法或者postman測(cè)試,直到最近才使用單元測(cè)試,在測(cè)試過程中遇到了事務(wù)不提交的問題,一直以為是代碼問題,后來(lái)才直到單元測(cè)試默認(rèn)不提交事務(wù),記錄下來(lái),防止以后再次踩坑。


二、Junit事務(wù)問題

1. 默認(rèn)不提交事務(wù)(默認(rèn)回滾)


@SpringBootTest(classes = WebappApplication.class)
@RunWith(SpringRunner.class)
class WebappApplicationTests {
	@Autowired
    WithdrawAccountInfoMapper withdrawAccountInfoMapper;
    
    @Test
    @Transactional
    void testEvent(){
        WithdrawAccountInfo withdrawAccountInfo = new WithdrawAccountInfo();
        withdrawAccountInfo.setBizId(2);
        //入庫(kù)操作
        withdrawAccountInfoMapper.insertSelective(withdrawAccountInfo);
        ...
        	調(diào)用其他業(yè)務(wù)方法
        ...
    }
}

如上,入庫(kù)操作不會(huì)實(shí)現(xiàn)真正入庫(kù),sql執(zhí)行了,但是會(huì)回滾,那么,如何提交事務(wù)呢,看如下方法。


2. 設(shè)置rollback,讓Junit提交事務(wù)

通過添加@Rollback(false)注解,強(qiáng)制不回滾

@SpringBootTest(classes = WebappApplication.class)
@RunWith(SpringRunner.class)
class WebappApplicationTests {
	@Autowired
    WithdrawAccountInfoMapper withdrawAccountInfoMapper;
    
    @Test
    @Transactional
    @Rollback(false)
    void testEvent(){
        WithdrawAccountInfo withdrawAccountInfo = new WithdrawAccountInfo();
        withdrawAccountInfo.setBizId(2);
        //入庫(kù)操作
        withdrawAccountInfoMapper.insertSelective(withdrawAccountInfo);
        ...
        	調(diào)用其他業(yè)務(wù)方法
        ...
    }
}

這樣,Junit默認(rèn)的rollback(true),就改成了false,就可以正常提交事務(wù)了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-499603.html

到了這里,關(guān)于springboot Junit單元測(cè)試默認(rèn)事務(wù)不提交的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot測(cè)試(Junit單元測(cè)試、MockMvc測(cè)試Http請(qǐng)求 )

    SpringBoot測(cè)試(Junit單元測(cè)試、MockMvc測(cè)試Http請(qǐng)求 )

    Java知識(shí)點(diǎn)總結(jié):想看的可以從這里進(jìn)入 2.13、測(cè)試 測(cè)試就是在開發(fā)過程中用來(lái)檢測(cè)某一段代碼的功能是否能正確執(zhí)行,Spring Boot 項(xiàng)?創(chuàng)建時(shí)會(huì)默認(rèn)單元測(cè)試框架 spring-boot-test,它Spring Test、JUnit等其他測(cè)試框架結(jié)合起來(lái)(JUnit 5、AssertJ、Hamcrest、Mockito、JSONassert、JsonPath、Spring

    2024年02月06日
    瀏覽(49)
  • 13.Springboot整合junit5單元測(cè)試與生成單元測(cè)試覆蓋率

    13.Springboot整合junit5單元測(cè)試與生成單元測(cè)試覆蓋率

    現(xiàn)在基本大公司都要求單元測(cè)試了,保證我們代碼得質(zhì)量,而我司更是要求覆蓋率要達(dá)到60%以上,所以搞一下。 這里有兩個(gè)方法: 1.使用maven自帶得test,idea右側(cè)maven模塊執(zhí)行項(xiàng)目下得test 2.使用cmd命令,在你的項(xiàng)目pom文件所在目錄 ,打開cmd,執(zhí)行如下: 結(jié)果如下:打開site文

    2024年02月16日
    瀏覽(23)
  • SpringBoot 中如何利用 Junit 實(shí)現(xiàn)單元測(cè)試?

    SpringBoot 中如何利用 Junit 實(shí)現(xiàn)單元測(cè)試?

    2024軟件測(cè)試面試刷題,這個(gè)小程序(永久刷題),靠它快速找到工作了?。ㄋ㈩}APP的天花板)_軟件測(cè)試刷題小程序-CSDN博客 文章瀏覽閱讀2.5k次,點(diǎn)贊85次,收藏11次。你知不知道有這么一個(gè)軟件測(cè)試面試的刷題小程序。里面包含了面試常問的軟件測(cè)試基礎(chǔ)題,web自動(dòng)化測(cè)試、

    2024年03月11日
    瀏覽(24)
  • SpringBoot2---單元測(cè)試(Junit5)(1)

    SpringBoot2---單元測(cè)試(Junit5)(1)

    org.junit.vintage junit-vintage-engine test org.hamcrest hamcrest-core org.springframework.boot spring-boot-starter-test test 現(xiàn)在版本: @SpringBootTest class Boot05WebAdminApplicationTests { @Test void contextLoads() { } } 以前: @SpringBootTest + @RunWith(SpringRunner.class) SpringBoot整合Junit以后。 編寫測(cè)試方法:@Test標(biāo)注(注意需要

    2024年04月29日
    瀏覽(17)
  • SpringBoot單元測(cè)試--Mockito+Junit5框架使用

    SpringBoot單元測(cè)試--Mockito+Junit5框架使用

    作為程序員為了提前發(fā)現(xiàn)代碼bug,優(yōu)化代碼; 通常我們寫完某個(gè)功能模塊代碼后都需要寫單元測(cè)試對(duì)代碼塊進(jìn)行測(cè)試(特別是敏捷開發(fā)中);Java項(xiàng)目最常用的單元測(cè)試框架即為Junit(目前最新版本為Junit5),SpringBoot本身也整合了該框架。在寫單元測(cè)試時(shí)代碼塊中的調(diào)到第三方接口方

    2024年02月02日
    瀏覽(22)
  • 靜態(tài)方法 單元測(cè)試 springboot+mokito+junit5

    CodecUtils的方法是靜態(tài)類,使用@InjectMocks不能有用,因?yàn)檫@個(gè)注解只能用于非靜態(tài)的對(duì)象。 想要為靜態(tài)方法寫單元測(cè)試,可以使用Mockito.mockStatic(Class classToMock)方法,它可以返回一個(gè)MockedStatic對(duì)象,用于模擬靜態(tài)方法的調(diào)用。 1.導(dǎo)入依賴 2.單元測(cè)試 可以參考如下地址,了解如何

    2024年04月25日
    瀏覽(21)
  • junit單元測(cè)試mock常用寫法-springboot與springmvc

    做單元測(cè)試時(shí)候,經(jīng)常會(huì)mock一些方法,得到期望的返回值,這里記錄一下常見的public、private、static方法,以及設(shè)計(jì)到的內(nèi)部調(diào)用的方法 這里采用maven,引入powermock即可 所有單元測(cè)試的測(cè)試類都繼成BaseTest即可 (1)springboot的示例 (2)springmvc的示例 有如下類需要編寫單元測(cè)

    2024年02月02日
    瀏覽(20)
  • SpringBoot 實(shí)戰(zhàn):JUnit5+MockMvc+Mockito 做好單元測(cè)試

    SpringBoot 實(shí)戰(zhàn):JUnit5+MockMvc+Mockito 做好單元測(cè)試

    因?yàn)槔^承了 spring-boot-starter-parent ,所以我們依賴的 spring-boot-starter-test 不需要寫具體的版本,可以直接集成父級(jí)的版本定義。其中, spring-boot-starter-web 是用于提供 REST API 的 web 容器, spring-boot-starter-test 可以提供各種測(cè)試框架的, spring-boot-maven-plugin 是將 SpringBoot 應(yīng)用打包為

    2024年04月15日
    瀏覽(28)
  • 【SpringBoot】org.junit.runners.model.InvalidTestClassError 單元測(cè)試類報(bào)錯(cuò)(已解決)

    出現(xiàn)該報(bào)錯(cuò)是因?yàn)?@Test 注解的錯(cuò)誤使用。 @Test 注解的正確使用 : 權(quán)限必須是public 不能有參數(shù) 返回值類型是void 本類的其他的使用了Test注解的方法返回值也必須是void 正確導(dǎo)包 import org.junit.Test 一般正確使用 @Test 下,就沒有報(bào)錯(cuò)了。 但是,我們可以繼續(xù)深入探討。 SpringBo

    2024年02月01日
    瀏覽(23)
  • springboot項(xiàng)目使用Junit5 + mockito + jacoco 實(shí)現(xiàn)單元測(cè)試以及代碼覆蓋率檢查

    在創(chuàng)建springboot項(xiàng)目時(shí)會(huì)默認(rèn)添加spring-boot-starter-test依賴,其中已經(jīng)包含了junit、mockito依賴,根據(jù)springboot版本的不同junit和mockito的版本也會(huì)有所不同 先說一下各自功能: junit只說一點(diǎn),junt4和junit5的注解不同,使用方式略有差異,其他不贅述了,基本用法都懂。 mockito是mock的

    2023年04月23日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包