如何在Spring Boot 2.2.0的集成测试中禁用安全性?

时间:2019-12-12 14:37:50

标签: java spring spring-boot spring-security

我需要在集成测试中禁用spring-security。我使用的是Spring boot 2.2.0,在此版本中,我没有找到执行此操作的方法。

@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class}) // not working

@EnableAutoConfiguration(exclude = { SecurityAutoConfiguration.class, ManagementSecurityAutoConfiguration.class }) // not working too.

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以通过个人资料玩此游戏

@ActiveProfiles(value = "IntegrationTest")
public class myTest {

答案 1 :(得分:0)

你和我一定在同一时间在同一件事上撞脑袋。

我能够使@AutoConfigureMockMvc(secure=false)完全按照我的意愿去做-禁用单元测试的所有安全性。但是,由于我使用的是Spring Boot 2.1.6,因此在我的IDE中立即将其标记为不推荐使用。我不喜欢使用不推荐使用的东西,所以我尝试并尝试使exclude属性正常工作,但从未成功。

我打算放弃它,并遭受过时警告,因为至少我的单元测试可以使用它。

一时兴起,我尝试将项目中的Spring Boot从2.1.6升级到2.2.2。令我震惊的是,secure属性已不再被弃用-它已被完全删除!我给单元测试打了转,但该属性消失了,但是exclude属性的填充与问题中显示的完全一样,并且有效!

TL; DR?升级到Spring Boot 2.2.2