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

Spring整合Junit單元測試

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

1.Spring整合Junit單元測試

1.1 原始Junit測試Spring的問題

在測試類中,每個測試方法都有以下兩行代碼:

 ApplicationContext ac = new ClassPathXmlApplicationContext("application.xml");
 BookDao bookDao =(BookDao)ac.getBean("bookDao");

這兩行代碼的作用是獲取容器,如果不寫的話,直接會提示空指針異常。所以又不能輕易刪掉。

1.2 上述問題解決思路

讓SpringJunit負責(zé)創(chuàng)建Spring容器,但是需要將配置文件的名稱告訴它

將需要進行測試Bean直接在測試類中進行注入

1.3 Spring集成Junit步驟

①導(dǎo)入spring集成Junit的坐標

②使用@Runwith注解替換原來的運行期

③使用@ContextConfiguration指定配置文件或配置類

④使用@Autowired注入需要測試的對象

⑤創(chuàng)建測試方法進行測試

【第一步】導(dǎo)入整合的依賴坐標spring-test

<!--junit-->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
</dependency>
<!--spring整合junit-->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>5.1.9.RELEASE</version>
</dependency>

【第二,三,四步】加載配置文件或者配置類

//【第二步】使用Spring整合Junit專用的類加載器
@RunWith(SpringJUnit4ClassRunner.class)
//【第三步】加載配置文件或者配置類
@ContextConfiguration(classes = {SpringConfiguration.class}) //加載配置類
//@ContextConfiguration(locations={"classpath:applicationContext.xml"})//加載配置文件
public class AccountServiceTest {
    //支持自動裝配注入bean
    @Autowired
    private AccountService accountService;
?
    @Test
    public void testFindById(){
        System.out.println(accountService.findById(1));
    }
?
    @Test
    public void testFindAll(){
        System.out.println(accountService.findAll());
    }
}

注意:junit的依賴至少要是4.12版本,可以是4.13等版本,否則出現(xiàn)如下異常:
Spring整合Junit單元測試,spring,spring,junit,單元測試

1.4 junit斷言測試:

JUnit為所有原語類型、對象和數(shù)組(原語或?qū)ο螅┨峁┲剌d斷言方法。參數(shù)順序為預(yù)期值后接實際值。或者,第一個參數(shù)可以是失敗時輸出的字符串消息。

2.1 斷言的方法:

void assertEquals(String message, expected value, actual value) 斷言兩個值相等。值可能是類型有 int, short, long, byte, char ,Object. 第一個參數(shù)是一個可選的字符串消息 如果預(yù)期值與真實值相等,則運行success,反之Failure
void assertTrue(String message, boolean condition) 斷言一個條件為真
void assertFalse(String message,boolean condition) 斷言一個條件為假
assertTrue(String message, expected value, actual value) 如果為 true,則運行 success,反之 Failure

2.2 入門例子

String str="abcde";
String str1="abcde";
assertEquals(str,str1);
assertTrue(str.startsWith("ab"));
assertTrue(str.endsWith("de"));
//list集合操作斷言
List<String> list= Arrays.asList("a","b","c","d");
System.out.println(list.toString());
assertEquals("a",list.get(0));
assertEquals(4,list.size());
assertEquals("d",list.get(list.size()-1));
//集合操作斷言
Map<String,Object> map=new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
Set<String> set = map.keySet();
//assertEquals 如果預(yù)期值與真實值相等,則運行success,反之Failure
//assertEquals 運行Failure會有錯誤提示,提示預(yù)期值是xxx,而實際值是xxx。容易調(diào)式
assertEquals(3, map.size());
//檢查是否包含A B C
//assertTrue 如果為 true,則運行 success,反之 Failure
assertTrue(set.containsAll(Arrays.asList("A", "B", "C")));

2.3案例操作dao

查詢所有斷言測試

第一步:在測試類里面注入Dao對象

@Autowired
private AccountDao accountDao;

第二步:構(gòu)建測試方法

@Test
public void testDaofindAll(){
    System.out.println("測試查詢所有");
    assertEquals(2,accountDao.findAll().size());
    }

添加操作斷言測試

構(gòu)建測試方法

@Test
@Rollback
public void testDaoadd(){
    Account account=new Account();
    account.setId(null);
    account.setName("測試新增");
    account.setMoney("12345");
    assertEquals(1,accountDao.save(account));
}

刪除操作斷言測試

構(gòu)建測試方法

@Test
public void testDel(){
    System.out.println("斷言測試刪除");
    assertEquals(1,accountDao.delete(3));
}

案例導(dǎo)入文章來源地址http://www.zghlxwxcb.cn/news/detail-519104.html

// 直接在service查詢里面構(gòu)建就可以
?
assumeTrue("結(jié)果不是false",false);
assumeFalse("結(jié)果不是true",false);

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

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

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

相關(guān)文章

  • Spring Boot使用JUnit和Mockito進行Service層單元測試

    ??在平時的開發(fā)當中,一個項目往往包含了大量的方法,可能有成千上萬個。如何去保證這些方法產(chǎn)生的結(jié)果是我們想要的呢?那么在SpringBoot項目中我們是如何對Service層的方法進行測試的呢? ??單元測試是一種軟件測試方法,用于測試代碼的最小可測試單元。在Java開發(fā)

    2024年02月03日
    瀏覽(23)
  • 單元測試-spring-boot-starter-test+junit5

    開發(fā)過程中經(jīng)常需要寫單元測試,記錄一下單元測試spring-boot-starter-test+junit5的使用 引用jar包 可以對局部函數(shù)、方法進行調(diào)用測試 可以對API調(diào)用進行模擬測試

    2024年01月19日
    瀏覽(25)
  • Spring Boot與微服務(wù)測試:JUnit和Mockito的單元和集成測試實踐

    Spring Boot與微服務(wù)測試:JUnit和Mockito的單元和集成測試實踐

    微服務(wù)架構(gòu)的流行使得測試變得更為重要。在Spring Boot應(yīng)用中,使用JUnit和Mockito進行單元和集成測試是一種常見的實踐。本文將深入探討如何利用這兩個測試框架,確保Spring Boot微服務(wù)的可靠性和穩(wěn)定性。 單元測試 1.1 JUnit簡介 JUnit是Java中最為流行的單元測試框架之一,它提供

    2024年02月21日
    瀏覽(102)
  • spring boot 單元測試JUnit5使用Mockito模擬Mock數(shù)據(jù)調(diào)用

    spring boot 單元測試JUnit5使用Mockito模擬Mock數(shù)據(jù)調(diào)用 好大一批新用法,大家靜下心來好好看看吧 1. spring boot 使用 Mockito.when().thenReturn()模擬返回值 Mockito 是一種 Java mock 框架,他主要就是用來做 mock 測試的,他可以模擬任何 Spring 管理的 bean、模擬方法的返回值、模擬拋出異?!?/p>

    2024年02月15日
    瀏覽(31)
  • spring boot 單元測試JUnit5使用斷言Assertions和假定Assumptions、嵌套、參數(shù)測試

    spring boot 單元測試JUnit5使用斷言Assertions和假定Assumptions、嵌套、參數(shù)測試 本文基于spirng boot 2.7.11, 大家注意自己的版本 Spring Boot 2.2.0 版本開始引入 JUnit 5 作為單元測試默認庫 SpringBoot 2.4 以上版本移除了默認對 Vintage 的依賴 源碼地址:https://gitcode.net/qq_39339588/springboot.git 1.

    2024年02月11日
    瀏覽(55)
  • 【Spring6】| Spring6整合JUnit
                    
            
一:Spring6整合JUnit

    【Spring6】| Spring6整合JUnit 一:Spring6整合JUnit

    目錄 一:Spring6整合JUnit 1.?Spring對JUnit4的支持 2.?Spring對JUnit5的支持 1.?Spring對JUnit4的支持 準備工作:pom.xml 注: 以前是直接使用單元測試Junit,現(xiàn)在使用Spring對Junit的整合! 聲明Bean spring.xml配置 單元測試: ①以前的寫法 ②使用Spring對Junit4的支持寫法 (1)使用兩個注解:

    2023年04月20日
    瀏覽(29)
  • 【Spring6】| Spring6整合JUnit
一:Spring6整合JUnit

    【Spring6】| Spring6整合JUnit 一:Spring6整合JUnit

    目錄 一:Spring6整合JUnit 1.?Spring對JUnit4的支持 2.?Spring對JUnit5的支持 1.?Spring對JUnit4的支持 準備工作:pom.xml 注: 以前是直接使用單元測試Junit,現(xiàn)在使用Spring對Junit的整合! 聲明Bean spring.xml配置 單元測試: ①以前的寫法 ②使用Spring對Junit4的支持寫法 (1)使用兩個注解:

    2023年04月18日
    瀏覽(50)
  • 【Spring框架】--04.單元測試JUnit、事務(wù)、資源操作Resources、國際化、數(shù)據(jù)校驗Validation、提前編譯AOT

    【Spring框架】--04.單元測試JUnit、事務(wù)、資源操作Resources、國際化、數(shù)據(jù)校驗Validation、提前編譯AOT

    學(xué)習(xí)視頻: 尚硅谷Spring教程 在之前的測試方法中,幾乎都能看到以下的兩行代碼: 這兩行代碼的作用是創(chuàng)建Spring容器,最終獲取到對象,但是每次測試都需要重復(fù)編寫。針對上述問題,我們需要的是程序能自動幫我們創(chuàng)建容器。我們都知道JUnit無法知曉我們是否使用了 Spr

    2024年02月12日
    瀏覽(23)
  • Spring整合Mybatis、Spring整合JUnit

    Spring整合Mybatis、Spring整合JUnit

    ??個人主頁: ?? 葉落閑庭 ??我的專欄:?? c語言 數(shù)據(jù)結(jié)構(gòu) javaweb 石可破也,而不可奪堅;丹可磨也,而不可奪赤。 1.3.1jdbc配置文件 1.3.2jdbc配置類及spring配置類 1.3.3數(shù)據(jù)庫操作類 1.3.4測試類 1.3.5運行結(jié)果 關(guān)于Spring整合的相關(guān)步驟就介紹完了,歡迎各位點贊+關(guān)注!??!

    2024年02月14日
    瀏覽(87)
  • [初學(xué)Spring Boot](2):單元測試報錯:org.junit.runners.model.InvalidTestClassError:Invalid test class

    [初學(xué)Spring Boot](2):單元測試報錯:org.junit.runners.model.InvalidTestClassError:Invalid test class

    是建項目時自動生成的測試類,結(jié)果還是報錯了。大無語事件。 就是IDEA自建測試時導(dǎo)錯包了。 ?注釋掉的時原來自導(dǎo)的,換成短的就好了。 經(jīng)查證,長的是升級版,junit5,spring boot版本在2.2之后,方法不要public修飾; 短的,是舊版,junit4,spring boot版本在2.2之前,方法要用

    2024年02月07日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包