私とspring boot mavenプロジェクトの中でjunnitユニットのテストのストーリを運行します.

2054 ワード

二年間はあまりプログラムを書かなかったです.緊急任務のためにプログラムを書かれました.セルテストのいくつかの変化が見られた.
junnit 4は5に取って代わられました
spring bootのstart.ioダウンロードのデフォルトプロジェクトでは、junt-vintage-engineを削除します.理由:spring-boot-starter-testは二つの依存があり、vintage(junnit 4)とjunpiter(junnit 5).springはjunnit 5を推奨するので、vintageを除いてjupiterを残しました.junnit 4と比べて、5の使い方は少し違っています.例えば@Ignoreが@Displadに取って代わられます.具体的にはjunnit 5公式マニュアルを見ます.
       
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		
IDEA不休解析Junnit依存
一番簡単なjunnitユニットのテストです.compleは大丈夫ですが、runはできません.実行時、ideaは常にreolve maven dependencyです.具体的にどのような依存がありますか?基本的にはjupiterの所有です.(私もよく見ていません.)依存.解析ができたようです.またrunはreolve maven dependencyを始めます.しかも先ほどのresoveで過ごしたものです.pom.xmlに加えます.
       
			org.junit.platform
			junit-platform-launcher
			test
		
原因としては,霧のようなものだ.
MAVENのtest resourceファイルが読み込めません.
Mavenプロジェクトなので、セルテストはsrc/test/java/comで行います.Src/test/reources/file.xml Files.read(「file.xml」、Standard Charets.UTFu 8)では、異常NPEを投げます.java docによると、Class Loaderによって経路順にファイルを検索するという.Class Loaderパスはどこで覚えていますか?プリント:this.get Class().get Class Loader().gets Resource(.).get Path()結果:D:work space_git/project A/project A-submodule/target/test-clases/使うIDEAのため左側にtargetが見えますが、このfile.xmlファイルがないのは.classファイルだけです.pom.xmlに追加:
	
		
			
				${project.basedir}/src/test/resources
			
		
	
resouresの下のすべてのレベルの目次とファイルはfile.xmlを含んで、test-clasesのルートの目次の下に置かれました.この時に実行します.this.get Class Loader().get Resource(file.xml)はこのファイルを入手します.ファイルが存在しない場合は、戻りのResourceはnullです.また、this.get Class().getsResource(.)は、現在のクラスのパスをプリントします.それでもFiles.read(…)はNPEです.
結論:今junnitを実行するのはこんなに難しいですか?