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

junit單元測試 mybatis 單獨測試 springboot

這篇具有很好參考價值的文章主要介紹了junit單元測試 mybatis 單獨測試 springboot。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

省流:

正文

一、直接測(無需配置掃描和xml)

1. 場景

2. 無需配置掃描,直接在測試類注入Mapper

3. 報錯

補充:

關(guān)于@RunWith

常見的報錯:

1.包名不同導(dǎo)致報錯


省流:

test目錄下配置文件:application.yml中配置數(shù)據(jù)庫信息。

test目錄下各類:直接寫測試類即可,直接調(diào)用main目錄下各Mapper類和實體類即可。

測試類:?

@RunWith(SpringRunner.class)
@MybatisPlusTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Rollback(false)
public class Test1 {

    @Autowired
    private T1Mapper t1Mapper;


    @Test
    public void t1() {
        t1Mapper.selectOne();
    }

}

application.yml配置文件:?

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    # 生產(chǎn)
    url: jdbc:mysql://ip:port/xxx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: root
    # 初始連接數(shù)
    initialSize: 5
    # 最小連接池數(shù)量
    minIdle: 10
    # 最大連接池數(shù)量
    maxActive: 20
    # 配置獲取連接等待超時的時間
    maxWait: 60000
    # 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一個連接在池中最小生存的時間,單位是毫秒
    minEvictableIdleTimeMillis: 300000
    # 配置一個連接在池中最大生存的時間,單位是毫秒
    maxEvictableIdleTimeMillis: 900000
    # 配置檢測連接是否有效
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    webStatFilter:
      enabled: true
    statViewServlet:
      enabled: true
      # 設(shè)置白名單,不填則允許所有訪問
      allow:
      url-pattern: /druid/*
      # 控制臺管理用戶名和密碼
      login-username:
      login-password:
    filter:
      stat:
        enabled: true
        # 慢SQL記錄
        log-slow-sql: true
        slow-sql-millis: 1000
        merge-sql: true
      wall:
        config:
          multi-statement-allow: true
mybatis-plus:
#  mapper-locations: classpath:/mapper/*Mapper.xml
#  typeAliasesPackage: com.ali.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

目錄結(jié)構(gòu):

目錄結(jié)構(gòu)

src
--main
--test
? -- java
? ? ?-- package和java文件
? -- resources
? ? ?-- application.yml

正文

一、直接測(無需配置掃描和xml)

1. 場景

在公司項目里,有時候想測下某條sql(不想調(diào)整個接口),有時想直接調(diào)用測試環(huán)境的數(shù)據(jù)庫,或者生產(chǎn)環(huán)境的數(shù)據(jù)庫。就只需單獨使用mybatis測,無需啟動整個springboot。

2. 無需配置掃描,直接在測試類注入Mapper

無需配置掃描等。

無需如下配置:

啟動類加注解:@MapperScan("com.cloud.xxx.mapper")
配置文件:mybatis-plus.mapper-locations=classpath:com/cloud/xxx/mapper/xml/*.xml

注意:

直接調(diào)用mybatis,如果test目錄中存在別人寫的其他測試類,尤其是有些測試類用springboot啟動的,會影響到你測試類啟動,可能會報如下錯誤。你不需要去解決這些錯,而是直接把其他人的測試類干掉,你的測試類就能啟動成功了

3. 報錯

報錯1:?

No qualifying bean of type 'com.xxx.mapper.xxxMapper' available: 
expected at least 1 bean which qualifies as autowire candidate. 
Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

?這個報錯一般是指沒有Mapper,通常是沒有掃描到,需要加?@MapperScan

報錯2:?

Annotation-specified bean name 'xxxMapper' for bean class conflicts with existing,

?這個報錯是存在多個相同名字的Mapper。

補充:

關(guān)于@RunWith

@RunWith:就是一個運行器
@RunWith(JUnit4.class) 指用JUnit4測試工具來運行測試。
@RunWith(SpringJUnit4ClassRunner.class):指讓類運行在Spring的測試環(huán)境,以便測試開始時自動創(chuàng)建Spring應(yīng)用上下文,并使用JUnit4測試工具運行測試。
@RunWith(SpringRunner.class):SpringRunner繼承了 SpringJUnit4ClassRunner ,所以等價于@RunWith(SpringJUnit4ClassRunner.class),為了名字簡短,方便使用
@RunWith(Suite.class):一套測試集合(suite指一套,使用RunWith測試套件)

通常,使用 @RunWith(SpringRunner.class)。

常見的報錯:

1.包名不同導(dǎo)致報錯

報錯 Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration (SpringBoot測試)_globalcoding的博客-CSDN博客

參考

Spring boot Mybatis-Plus數(shù)據(jù)庫單測實戰(zhàn)(三種方式)_@mybatisplustest_CuteXiaoKe的博客-CSDN博客

在 springboot 中進行單獨的 mybatis 單元測試 - 簡書

MyBatis plus和maven的依賴_mybatisplus maven依賴_阿飛0x6c717a的博客-CSDN博客

測試類的@RunWith與@SpringBootTest注解_Morning sunshine的博客-CSDN博客

======================分割線=======================?

文章到此已經(jīng)結(jié)束,以下是紫薯布丁

@RunWith(SpringRunner.class)
@MybatisPlusTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Rollback(false)
public class Test1 {

? ? @Autowired
? ? private T1Mapper t1Mapper;


? ? @Test
? ? public void t1() {
? ? ? ? t1Mapper.selectOne();
? ? }

}

spring:
? datasource:
? ? type: com.alibaba.druid.pool.DruidDataSource
? ? driverClassName: com.mysql.cj.jdbc.Driver
? ? # 生產(chǎn)
? ? url: jdbc:mysql://ip:port/xxx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
? ? username: root
? ? password: root
? ? # 初始連接數(shù)
? ? initialSize: 5
? ? # 最小連接池數(shù)量
? ? minIdle: 10
? ? # 最大連接池數(shù)量
? ? maxActive: 20
? ? # 配置獲取連接等待超時的時間
? ? maxWait: 60000
? ? # 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒
? ? timeBetweenEvictionRunsMillis: 60000
? ? # 配置一個連接在池中最小生存的時間,單位是毫秒
? ? minEvictableIdleTimeMillis: 300000
? ? # 配置一個連接在池中最大生存的時間,單位是毫秒
? ? maxEvictableIdleTimeMillis: 900000
? ? # 配置檢測連接是否有效
? ? validationQuery: SELECT 1 FROM DUAL
? ? testWhileIdle: true
? ? testOnBorrow: false
? ? testOnReturn: false
? ? webStatFilter:
? ? ? enabled: true
? ? statViewServlet:
? ? ? enabled: true
? ? ? # 設(shè)置白名單,不填則允許所有訪問
? ? ? allow:
? ? ? url-pattern: /druid/*
? ? ? # 控制臺管理用戶名和密碼
? ? ? login-username:
? ? ? login-password:
? ? filter:
? ? ? stat:
? ? ? ? enabled: true
? ? ? ? # 慢SQL記錄
? ? ? ? log-slow-sql: true
? ? ? ? slow-sql-millis: 1000
? ? ? ? merge-sql: true
? ? ? wall:
? ? ? ? config:
? ? ? ? ? multi-statement-allow: true
mybatis-plus:
# ?mapper-locations: classpath:/mapper/*Mapper.xml
# ?typeAliasesPackage: com.ali.entity
? configuration:
? ? log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

test目錄結(jié)構(gòu)

src

--main

--test

? -- java

? ? ?-- package和java文件

? -- resources

? ? ?-- application.yml

No qualifying bean of type 'com.xxx.mapper.xxxMapper' available:?
expected at least 1 bean which qualifies as autowire candidate.?
Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}


Annotation-specified bean name 'xxxMapper' for bean class conflicts with existing,
?文章來源地址http://www.zghlxwxcb.cn/news/detail-469570.html

到了這里,關(guān)于junit單元測試 mybatis 單獨測試 springboot的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • SpringBoot 中如何利用 Junit 實現(xiàn)單元測試?

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

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

    2024年03月11日
    瀏覽(24)
  • springboot Junit單元測試默認事務(wù)不提交

    因為以前總覺得Junit單元測試配置比較繁瑣,代碼功能大多使用main方法或者postman測試,直到最近才使用單元測試,在測試過程中遇到了事務(wù)不提交的問題,一直以為是代碼問題,后來才直到單元測試 默認不提交事務(wù) ,記錄下來,防止以后再次踩坑。 如上,入庫操作不會實現(xiàn)

    2024年02月10日
    瀏覽(23)
  • SpringBoot2---單元測試(Junit5)(1)

    SpringBoot2---單元測試(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以后。 編寫測試方法:@Test標注(注意需要

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

    SpringBoot單元測試--Mockito+Junit5框架使用

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

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

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

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

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

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

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

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

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

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

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

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

    2023年04月23日
    瀏覽(33)
  • 【 SpringBoot單元測試 和 Mybatis 增,刪,改 操作 】

    【 SpringBoot單元測試 和 Mybatis 增,刪,改 操作 】

    單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。 在Java中單元測試的最小單元是類 單元測試是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望是否一致

    2023年04月23日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包