Gradle プラグインで STS を使用して Spring Boot アプリケーションを開発しています。Selenium テストでログインする必要がないように、テスト用に別の構成を使用しています。
だからsrc/test/java/etc
私はこのようなものを持っています:
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableWebSecurity
public static class SecurityConfig extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(HttpSecurity http) throws Exception
{
http.authorizeRequests().anyRequest().permitAll();
}
}
一方、src/main/java
ログインなどを構成する同等のクラスがあり、すべてのページでログインが必要です。
Gradle プラグイン (bootRun) を介してアプリケーションを実行すると、すべて正常に動作します。
ただし、Eclipse を介して直接実行またはデバッグすると (たとえば、プロジェクトを右クリックして [実行] -> [Spring Boot App] をクリックするか、Spring ビューまたは Java ビューで実行/デバッグ ボタンをクリックして)、テスト構成が適用されるため、アクセスします。ログインせずにすべてのページに付与されます。
この方法でアプリケーションを起動すると、テストクラスがクラスパスに含まれていると思います。これを防ぐ簡単な方法はありますか?