LoginSignup
2
1

More than 3 years have passed since last update.

Spring Boot(Spring MVC)利用時のTest構成メモ

Last updated at Posted at 2021-02-14

前書き

普段、何気なくSpring Boot(Spring MVC)のテストを設計・実装してるのですが

初心「そういえば我々、今どんなTest構成なんだっけ?(特に、利用ブラウザ)」を忘れがち。

関連クラス辿ったので、備忘しておくもの。

前提

公式Doc1公式Doc2に則って、自動構成に任せたMVC Testを書いていること。

すなわち、@WebMvcTest周りを利用したテスト実装であること。

本題:Test構成の仔細

結局、MockMvcWebDriverAutoConfigurationが設定されている。

同Configurationクラスのコードはこちら

実装より、以下2つの条件いずれも満たしていれば、同クラス配下のBean登録を試みる。

  1. ライブラリorg.openqa.selenium.htmlunit.HtmlUnitDriverが利用可能
  2. プロパティspring.test.mockmvc.webdriver.enabled=falseが明示されていない

Bean登録について条件と、概要は以下。

  1. WebDriver , MockMvcHtmlUnitDriverBuilderいずれのBeanとも登録が無い場合 MockMvcHtmlUnitDriverBuilderをBean登録する。
    その折に、browserVersion.CHROME指定のLocalHostWebConnectionHtmlUnitDriverインスタンスを用いる。
    判りやすく言えば「Selenium利用するHtmlUnit」となる。
  2. WebDriverは登録が無いが、MockMvcHtmlUnitDriverBuilderはBean登録してる場合
    HtmlUnitDriverをBean登録する。
    その折、MockMvcHtmlUnitDriverBuilderを利用。
    加えて、SecurityContextに従う必要あれば、設定済みExecutorをHtmlUnitDriverに反映してくれる。

補足 : HtmlUnit(含:Selenium)設定に手を入れたい場合の流れ

まず初めに、WebDriverDriverBuilder周りの、ConfigurerCustomizer利用を考えるべし。
続いて、DriverBuilderHtmlUnitDriverBeanを、自前で登録。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1