最近部門內部升級測試框架,把junit4升級到了junit5,在導入新包的時候發現,maven自動下載后的junit5包已經在library里了,但是在測試代碼端import junit5下對應的方法,卻顯示cannot resolve symbol TestCase。
在網上查閱了很多資料都沒有解決,最后發現問題出在pom文件dependency上,其中加入了一個scope參數,查閱了相關資料后發現,scope是標識依賴的有效范圍了傳遞性的。當標識為test的時候,依賴包只有在測試的時候才有效,而本次的項目是部門內部的測試框架,所以我在compile的時候就用到了junit里的測試類,這時候設置scope為test則導致idea報錯找不到類。所以此處可設置scope為compile或者去掉該屬性(默認值為compile)則可成功將需要的jar加入到classpath里。
附上官方文檔對scope參數的介紹https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html