Springbootのユニットテスト
3856 ワード
この文章は【知識林】から
Springbootの開発ではユニットテストがよく使われ、Controllerを書くよりもユニットテストが簡単で便利です.この例のテストは主にユニットテストによって、前の記事「Springbootのカスタムプロファイルおよび読み出しプロファイル」のテストを実現します.
テストクラス を作成
すべてのテストクラスは
に注意
1、1つの一般クラスを1つのユニットテストクラスにするには、クラス名にプロファイル作成 プロファイル管理クラス を作成する.
前のドキュメントと変わらない.テストクラス を作成
この文章は【知識林】から
Springbootの開発ではユニットテストがよく使われ、Controllerを書くよりもユニットテストが簡単で便利です.この例のテストは主にユニットテストによって、前の記事「Springbootのカスタムプロファイルおよび読み出しプロファイル」のテストを実現します.
pom.xmlにMaven依存パッケージを導入
org.springframework.boot
spring-boot-starter-test
test
コアプロファイルの読み込み
application.properties
プロファイルの内容は次のとおりです.server.port=9090
test.msg=Hello World Springboot!
すべてのテストクラスは
src/test
ディレクトリの下にあり、ここではMyTest.java
ファイルを作成します.package com.zslin;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner;
/**
* Created by [email protected] on 2016/10/18 11:25.
*/
@SpringBootTest
@RunWith(SpringRunner.class)
public class MyTest {
@Value("${test.msg}")
private String msg;
@Test
public void testCoreConfig() {
System.out.println(msg);
}
@Autowired
private Environment env;
@Test
public void testCoreConfig2() {
System.out.println(env.getProperty("test.msg"));
}
}
に注意
1、1つの一般クラスを1つのユニットテストクラスにするには、クラス名に
@SpringBootTest
と@RunWith(SpringRunner.class)
の2つの注釈を加えるだけでよい.2、試験方法に@Test
注記を付ける.testCoreConfig
とtestCoreConfig2
の方法を実行した後、いずれも得ることができる:Hello World Springboot!
カスタムプロファイルの読み込み
resources/config
には、my-web.properties
という名前のプロファイルが作成されます.内容は次のとおりです.web.name=zslin
web.version=V 1.0
[email protected]
package com.zslin.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* Created by [email protected] on 2016/10/18 11:44.
*/
@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web")
@Component
public class MyConfig {
private String name;
private String version;
private String author;
public String getAuthor() {
return author;
}
public String getName() {
return name;
}
public String getVersion() {
return version;
}
public void setAuthor(String author) {
this.author = author;
}
public void setName(String name) {
this.name = name;
}
public void setVersion(String version) {
this.version = version;
}
}
前のドキュメントと変わらない.
package com.zslin;
import com.zslin.config.MyConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* Created by [email protected] on 2016/10/18 11:44.
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyConfigTest {
@Autowired
private MyConfig myConfig;
@Test
public void testConfig() {
System.out.println("webName: "+myConfig.getName()+
", webVersion: "+ myConfig.getVersion()+", webAuthor: "+myConfig.getAuthor());
}
}
testConfig
を実行すると結果が得られます:webName: zslin, webVersion: V 1.0, webAuthor: [email protected]
サンプルコード:https://github.com/zsl131/spring-boot-test/tree/master/study03 この文章は【知識林】から