java junit測試,註解引入service報錯解決辦法
作為程式設計師,搞後端開發,當然離不開單元測試了。舉個例子,測試下mapper介面,service介面等等。
當用到spring容器的時候,在測試類直接寫 如下程式碼:
@Autowired
private AccountService accountServiceImpl;
當執行測試程式碼的時候,控制檯會報錯,提示:accountServiceImpl注入為空,到這裡,很多人都會感到不可思議,明明自己代
碼沒寫錯,又跑回去檢查配置檔案,也是沒問題,然後就束手無策了。
其實,道理是這樣的。因為我們的accountServiceImpl是被spring容器託管的,容器沒有載入到測試類,怎麼會識別測試介面呢。
只需要這樣改一下就可以了:
首先引入jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.14.RELEASE</version>
<scope>test</scope>
</dependency>
然後:在測試類里加上這樣的註解:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/application-*.xml"})
public class accountServiceImplTest {
@Autowired
private AccountService accountServiceImpl;
}
但是:這樣的話我們每個測試類都要重複寫一遍,可以這樣改一下,寫一個基礎的類,加上註解,然後我們其他的測試類直接偶從基礎類繼承就可以了。
好了,這樣就可以開心的測試了,再也不會報沒有注入的錯誤了。package com.wct.shop.basic; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author :cijiancao * @version :1.0.0 * @Date :2018/3/6 18:53 * @Description : */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:spring/application-*.xml"}) public class TestBasic { }
相關推薦
java junit測試,註解引入service報錯解決辦法
作為程式設計師,搞後端開發,當然離不開單元測試了。舉個例子,測試下mapper介面,service介面等等。當用到spring容器的時候,在測試類直接寫 如下程式碼: @Autowired private AccountService accountServiceIm
Project xxx is missing required source folder: 'src/main/resources' 問題,maven管理工程報錯解決辦法
問題描述: Project xxx is missing required source folder: 'src/main/resources' 原因 : 開發環境中,eclipse.project檔案可能存在對缺失資料夾的引用,但是project中已經沒有了該資料
AFNetworking升級至3.1.0後,原有的方法報錯解決辦法。
為了配合蘋果官方的ipv6的事,有很多開發人員都把AFNetworking升級了(網路請求自己公司做封裝的除外),但是升級後報錯一堆。怎麼辦?我的笨辦法是:一個一個修改。 1.首先:沒有了AFHTTPRequestOperationManager這個類,被AF
從富文字編輯器獲取html內容組裝json,特殊字元引起報錯解決辦法。
最近專案需要,需要從富文字編輯器獲取html內容組裝json,然後還要 把組裝後的json物件利用json2轉成json字串,資料放入編輯器提交,由於相容ie8以上瀏覽器。所以搞了好久的特殊字元轉義,
Junit 單元測試@Test註解的方法報錯Annotations are not allowed here
問題描述: Annotations are not allowed here 使用IDEA開發的時候,單元測試如果不使用IDE提供的方式建立,而是自己手動建立的話,會報這
使用cmd執行Java中文問號,Python列印直接報錯的原因和解決
Python列印報錯的一個原因 當使用Python寫程式碼出現中文時,若只是亂碼那還好處理,開頭加 #-*- coding=utf-8 -*- 並且所有編碼一致,網上有很多案例。 有一天我在整一個線上寫爬蟲程式碼的專案時,建立Python專案並書寫程式碼使用cmd執行時,列印中
Maven 本地倉庫明明有jar包,pom文件還是報錯解決辦法
lips rep win 選擇 class osi 方案 pom nbsp 方法一: 找到出錯的jar包文件位置,刪掉_maven.repositories文件 方法二: maven中的本地倉庫的index索引沒有更新導致 解決方案:
建立的maven專案,pom.xml檔案報錯解決方法
eclipse建立的maven專案,pom.xml檔案報錯解決方法 【錯誤原因一:】maven 編譯級別過低 【解決辦法:】 使用 maven-compiler-plugin 將 maven 編譯級別改為 jdk1.6 以上: <!-- java編譯外掛
mybatis報錯解決辦法 :Result Maps collection does not contain value for java.lang.String
錯誤 java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.String at org.apache.ibatis.session.Configura
Oracle資料庫安裝+漢化版PLsql+Oracle外掛,plsql連線Oracle步驟和報錯解決辦法
從https://download.csdn.net/download/fxiaoyaole/10449523 此連結下載裡面有所資源,資源包括(Oracle兩個資料庫壓縮包win64_11gR2_database_1of2, win64_11gR2_database
maven web專案pom.xml檔案頭部報錯解決辦法,親測有效。
建立maven web工程之後會出現如下的錯誤,在pom.xml檔案頭部 有以下的錯誤 這個錯誤的直接原因是:缺少依賴包引起的, 網上大多是方法是:找到沒有下載完全的依賴包,然後右鍵專案–>Maven–>Update Project即可,讓工程重新自動下載
Bootstrap安裝過程中,chrome控制檯報錯解決辦法
今天初次使用Bootstrap,安裝好所有預設的樣式以及JS檔案,執行之後發現Chrome控制檯報錯Uncaught TypeError: Cannot read property 'fn' of undefined 1 <!DOCTYPE html> 2 <html
eclipse匯入maven專案,pom檔案報錯解決辦法
Project build error: Non-resolvable parent POM for com.example:demo:0.0.1-SNAPSHOT: Failure to transfer org.springframework.boot:sprin
Maven 本地倉庫明明有jar包,但是pom檔案還是報錯解決辦法
方法一 找到出錯的jar包檔案位置,刪掉_maven.repositories檔案 (或用文字編輯器開啟,將“>XX=”改為“>=”,即刪除main,當然main也可能是其他值) ,然
java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap報錯解決辦法
在編寫Servlet中實現表單值自動填充的程式中,出現了-500 java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap報錯,究其原因就是在commons-collection-4
RedisTemplate執行lua指令碼,叢集模式下報錯解決
redis叢集配置: 在使用spring的RedisTemplate執行lua指令碼時,報錯EvalSha is not supported in cluster environment,不支援cluster。 程式碼: @Test public
Maven專案引入私服jar報錯解決辦法
有時候maven專案需要引入特有的私服jar包,這樣的jar需要再maven本地倉庫先建立對應的資料夾儲存jar,然後再pom中指定路徑進行引入。如下在maven倉庫建立資料夾如果你執行了各種update project之後,還是出現報錯的情況,那麼以下方法或許適用1、修改其
Idea中重建maven模塊,dependencies引入為空的解決辦法
mage dep idea 開發 除了 項目 問題 http 解決辦法 使用idea開發Maven項目時, Maven項目中有些模塊被刪除了,重新加入相同名字的模塊時,dependencies為空 如下圖 正常引進的項目,dependencies應如下 解決辦法:
無法匯入 configparser模組,import configparser報錯解決辦法
在Python2下,需要大寫:import ConfigParser 在PYthon3下,需要小寫:import configparser 如果不是以上原因,其他解決辦法: 1、新增環境變數 把python相關資料夾,python資料夾,scripts資料
Idea中重建maven模組,dependencies引入為空的解決辦法
無意中發現,使用idea開發Maven專案時, Maven專案中有些模組被刪除了,重新加入相同名字的模組時,dependencies為空 如下圖 正常引進的專案,dependencies應如下 解決辦法: idea會預設刪除的模組不再用,所以將刪除模組的