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

springboot項(xiàng)目test單元測(cè)試java.lang.NullPointerException問(wèn)題

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

項(xiàng)目場(chǎng)景:

最近在測(cè)試寫好mapper相關(guān)接口時(shí)是,出現(xiàn)空指針異常,所以記錄一下。


問(wèn)題描述

在測(cè)試用戶登錄時(shí),出現(xiàn)如下錯(cuò)誤

測(cè)試方法
springboot項(xiàng)目test單元測(cè)試java.lang.NullPointerException問(wèn)題

錯(cuò)誤信息
springboot項(xiàng)目test單元測(cè)試java.lang.NullPointerException問(wèn)題


原因分析:

通過(guò)分析日志了解到原因是
無(wú)法調(diào)用“AdminUserMapper.login(String, String)”,因?yàn)椤皌his.adminUserMapper”為空

應(yīng)該是AdminUserMapper沒有注入進(jìn)來(lái),但是自己已經(jīng)引入進(jìn)來(lái)了

 @Autowired
 private AdminUserMapper adminUserMapper;

是沒有問(wèn)題的,而且配置了@MapperScan,就是不能引入。查了網(wǎng)上資料后終于知道錯(cuò)誤在哪。
在test測(cè)試目錄下,我們寫的測(cè)試類要加上@SpringBootTest


解決方案:

如下圖所示

springboot項(xiàng)目test單元測(cè)試java.lang.NullPointerException問(wèn)題

最后這里總結(jié)一下java.lang.NullPointerException出現(xiàn)的幾種原因

總結(jié)java.lang.NullPointerException出現(xiàn)的幾種原因

1、字符串變量未初始化
2、接口類型的對(duì)象沒有用具體的類初始化,比如: Map map // 會(huì)報(bào)錯(cuò) Map map = new Map(); //則不會(huì)報(bào)錯(cuò)了
3、當(dāng)一個(gè)對(duì)象的值為空時(shí),你沒有判斷為空的情況。
4、字符串與文字的比較,文字可以是一個(gè)字符串或Enum的元素,如下會(huì)出現(xiàn)異常 String str = null; if(str.equals(“Test”)){ //這里的代碼將不會(huì)被觸發(fā),因?yàn)闀?huì)拋出java.lang.NullPointerException異常。 }
5、優(yōu)先使用String.valueOf()方法代替toString() 當(dāng)程序代碼需要對(duì)象的字符串表示形式時(shí),請(qǐng)避免使用該對(duì)象的toString方法。如果你的對(duì)象的引用等于null,NullPointerException則會(huì)拋出,使用靜態(tài)String.valueOf方法,該方法不會(huì)拋出任何異常并打印"null"
6、class被聲明了類型, 默認(rèn) class = null; 這樣在調(diào)用class中方法的時(shí)候系統(tǒng)只能給你個(gè)空指針異常, 給其實(shí)例化就好了:class = new Class();
7、返回null,方法的返回值不要定義成為一般的類型,而是用數(shù)組。這樣如果想要返回null的時(shí)候就能避免許多不必要的NullPointerException。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-432520.html

到了這里,關(guān)于springboot項(xiàng)目test單元測(cè)試java.lang.NullPointerException問(wèn)題的文章就介紹完了。如果您還想了解更多內(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 Unit Test(單元測(cè)試)

    單元測(cè)試,是指對(duì)程序中的最小可測(cè)試單元進(jìn)行驗(yàn)證,在Java中的話,就是類。其有兩個(gè)目的: 驗(yàn)證程序?qū)崿F(xiàn)的邏輯是否與設(shè)計(jì)的邏輯正確 在涉及到代碼修改時(shí),用單元測(cè)試去保證原有功能不被破壞, 而一個(gè)好的單元測(cè)試應(yīng)該具備以下FIRST 原則和AIR原則中的任何一條: 單元

    2024年03月22日
    瀏覽(23)
  • SpringBoot單元測(cè)試(unit testing)

    目錄 1.什么是單元測(cè)試? 2.單元測(cè)試的優(yōu)點(diǎn) 3.關(guān)于單元測(cè)試框架 4.單元測(cè)試的實(shí)現(xiàn)

    2024年02月16日
    瀏覽(19)
  • SpringBoot單元測(cè)試java.lang.IllegalStateException Could not initialize plugin: interface org.mockito解決方案

    ??大家好,我是愛編程的喵喵。雙985碩士畢業(yè),現(xiàn)擔(dān)任全棧工程師一職,熱衷于將數(shù)據(jù)思維應(yīng)用到工作與生活中。從事機(jī)器學(xué)習(xí)以及相關(guān)的前后端開發(fā)工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次?,F(xiàn)為CSDN博客專家、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。喜歡通過(guò)博客創(chuàng)作

    2024年02月04日
    瀏覽(39)
  • 【springboot test】springboot 單元測(cè)試配置文件加載順序及覆蓋關(guān)系

    【springboot test】springboot 單元測(cè)試配置文件加載順序及覆蓋關(guān)系

    參照目錄結(jié)構(gòu): 1.配置文件加載基礎(chǔ)原則: 通過(guò)任意方式指定的application-xxx.yml中會(huì)覆蓋application.yml中同名配置,application.yml一般作為兜底或通用配置 2.application.yml主配置文件加載原則: [ 實(shí)際運(yùn)行的application.yml ] = [ test/resources/application.yml ] ? [ test/resources/application.yml ] : [ main/reso

    2024年02月13日
    瀏覽(29)
  • java.lang.RuntimeException: java.lang.NullPointerException

    java.lang.RuntimeException: java.lang.NullPointerException

    空指針異常 一般導(dǎo)致空指針異常的是 1.對(duì)象未初始化:當(dāng)一個(gè)對(duì)象被聲明但未被實(shí)例化,或者被賦值為null時(shí),嘗試調(diào)用該對(duì)象的方法或訪問(wèn)其屬性都會(huì)導(dǎo)致空指針異常 例如: 2.方法返回null:如果一個(gè)方法返回null,而調(diào)用者沒有檢查返回值是否為null,直接對(duì)返回值進(jìn)行操作就

    2024年02月02日
    瀏覽(30)
  • Maven 項(xiàng)目中為什么Junit之@Test 單元測(cè)試無(wú)法使用

    Maven 項(xiàng)目中為什么Junit之@Test 單元測(cè)試無(wú)法使用

    由于框架項(xiàng)目的使用,會(huì)有很多模塊,所以Junit中的@Test注解是我們比較常用的注解,但是有些小問(wèn)題我們需要注意 在創(chuàng)建完Maven項(xiàng)目后,我們通常呢會(huì)導(dǎo)入以下這樣的依賴包: 但是我們這時(shí)候去代碼中使用@Test,會(huì)出現(xiàn)報(bào)紅,這是為什么呢??? 這里先說(shuō)明下,org.junit是導(dǎo)入

    2024年02月02日
    瀏覽(27)
  • test-01-java 單元測(cè)試框架 junit 入門介紹

    JUnit 是一個(gè)用于編寫可重復(fù)測(cè)試的簡(jiǎn)單框架。 它是 xUnit 架構(gòu)的一種實(shí)例,專門用于單元測(cè)試框架。 What to test? Need Desc Right 結(jié)果是否正確 B 邊界條件是否滿足 I 能反向關(guān)聯(lián)嗎 C 有其他手段交叉檢查嗎 E 是否可以強(qiáng)制異常發(fā)生 P 性能問(wèn)題 CalculatorTest 類包含了一個(gè)測(cè)試方法 test

    2024年02月04日
    瀏覽(41)
  • java.lang.NullPointerException: null

    java.lang.NullPointerException: null

    錯(cuò)誤提示的大意是:空指針異常。說(shuō)明報(bào)錯(cuò)位置缺少信息或者是數(shù)據(jù)對(duì)應(yīng)不上。 知道大概意思后現(xiàn)在開始排查,點(diǎn)擊 Debug ,就是下圖的這個(gè)按鈕 ?然后根據(jù)前面提示的報(bào)錯(cuò)行,再打開項(xiàng)目運(yùn)行。 ?接著看報(bào)錯(cuò)信息,它說(shuō)這個(gè)類型等于null,但是查看該頁(yè)面,發(fā)現(xiàn)上述頁(yè)面沒有

    2024年02月15日
    瀏覽(17)
  • java程序啟動(dòng)時(shí)自動(dòng)執(zhí)行方法 @PostConstruct,單元測(cè)試@Test

    java程序啟動(dòng)時(shí)自動(dòng)執(zhí)行方法,在方法上添加@PostConstruct注解即可,可以代替單元測(cè)試junit的@Test注解 @PostConstruct //程序啟動(dòng)時(shí)自動(dòng)執(zhí)行方法 @Test //需要選中該方法運(yùn)行啟動(dòng)(單元測(cè)試) java 代碼----程序啟動(dòng)時(shí)自動(dòng)執(zhí)行方法 @PostConstruct java 代碼----需要選中該方法運(yùn)行啟動(dòng)(單元

    2024年02月05日
    瀏覽(22)
  • java.lang.NullPointerException(空指針異常)

    java.lang.NullPointerException(空指針異常)

    對(duì)象引用為 null :當(dāng)你嘗試調(diào)用一個(gè)空對(duì)象的方法或訪問(wèn)其屬性時(shí),就會(huì)拋出 NullPointerException 異常。這意味著你沒有將對(duì)象初始化或者對(duì)象引用被賦予了 null 值。 數(shù)組元素為 null :當(dāng)你嘗試訪問(wèn)數(shù)組中的元素時(shí),如果該元素為 null ,則會(huì)拋出 NullPointerException 異常。這通常發(fā)

    2024年02月08日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包