SpringBoot基礎チュートリアル(14)-テストとの結合
2473 ワード
マイクロサービスのソリューションとして、どのようにテストが不足しているのでしょうか.Spring bootは異なる環境のテストをサポートできるので、あまり言わないで、pomを見てください.
Spring-boot-starter-testに含まれるspring bootテストフレームワークに必要な内容は、私たちの古い友达junitなども含まれています.ビジネスコードを見てください
中の操作は,実行時環境でenvという属性の値を得,controllerのhelloで暴露する.機能は比較的簡単です.テストパッケージのresourcesディレクトリの下の内容を見てください.2つの内容が含まれています.アプリケーション-dev.ymlとアプリケーション-testです.yml.彼らの違いは、中のenvの属性値が異なることです.アプリケーション-dev.ymlのファイル内容は
ActiveProfilesの注記があり、「test」と書くとアプリケーション-testが見つかります.ymlのファイルをプロファイルとして使用すると、プロパティも自然にそのプロパティを取得します.devなら同じ理屈です.実行して結果
次のセクションでは、SpringBoot基礎チュートリアル(15)--rabbitmqとの結合について説明します.
本節プロジェクトソース
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
Spring-boot-starter-testに含まれるspring bootテストフレームワークに必要な内容は、私たちの古い友达junitなども含まれています.ビジネスコードを見てください
package com.shuqi.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@Value("${env}")
private String env;
@RequestMapping("/hello")
public String hello() {
return "hello " + env;
}
}
中の操作は,実行時環境でenvという属性の値を得,controllerのhelloで暴露する.機能は比較的簡単です.テストパッケージのresourcesディレクトリの下の内容を見てください.2つの内容が含まれています.アプリケーション-dev.ymlとアプリケーション-testです.yml.彼らの違いは、中のenvの属性値が異なることです.アプリケーション-dev.ymlのファイル内容は
env: dev
です.アプリケーション-test.ymlのファイル内容はenv: test
です.準備ができているので、私たちのテスト方法を見てください.package com.shuqi;
import com.shuqi.controller.HelloController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.annotation.Resource;
@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(ApplicationMain.class)
public class MyTest {
@Resource
private HelloController helloController;
@Test
public void test() {
System.out.println(helloController.hello());
}
}
ActiveProfilesの注記があり、「test」と書くとアプリケーション-testが見つかります.ymlのファイルをプロファイルとして使用すると、プロパティも自然にそのプロパティを取得します.devなら同じ理屈です.実行して結果
hello test
が表示されます.その後、ActiveProfilesをdevに切り替え、結果hello dev
が表示されます.このテストで環境テストを切り替えるのは超便利ではないでしょうか.機能も環境も測定した.次のセクションでは、SpringBoot基礎チュートリアル(15)--rabbitmqとの結合について説明します.
本節プロジェクトソース