Springboot:为@Springboot测试禁用@EnableGlobalMethodSecurity

时间:2019-07-23 10:06:20

标签: spring-boot spring-boot-test

最近,我使用以下类将Spring Security添加到了Spring Boot项目中:

@Configuration
@EnableGlobalMethodSecurity(securedEnabled = true)
@EnableWebSecurity
public class MySecurityConfig {
      }

问题是我下面给出的测试失败,该测试在@SpringBootTest中运行

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class HelloControllerIT {

@LocalServerPort
private int port;

private URL base;

@Autowired
private TestRestTemplate template;

@Before
public void setUp() throws Exception {
    this.base = new URL("http://localhost:" + port + "/");
}

@Test
public void getHello() throws Exception {
    ResponseEntity<String> response = template.getForEntity(base.toString(),
            String.class);
    assertThat(response.getBody(), equalTo("Greetings from Spring Boot!"));
}
}

我尝试过的方法:

方法1:

我不应该使用认证值进行测试,因此我不能使用 TestRestTemplate .withBasicAuth(用户名,密码)。

方法2: 属性文件中的security.basic.enabled = false。但这不起作用

如何仅对单元测试禁用安全性

0 个答案:

没有答案