我正在使用带有 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 运行或调试它(例如,右键单击项目,Run As->Spring Boot App 或通过单击 Spring 或 Java 视图中的运行/调试按钮)然后应用测试配置,所以访问无需登录即可授予所有页面。
我猜当我以这种方式启动应用程序时,测试类已包含在类路径中。有没有一种简单的方法可以防止这种情况发生?