[英]Java Spring Boot Integration Tests Database Modification and Authentication
我有一个测试控制器的集成测试。 我传递了一个请求并返回了响应,并且测试通过了。 但是,在发出请求之前,我必须向/authenticate
端点发出请求以检索令牌,以便可以将其放入请求的标头中。 我有两个问题
/add
, /get
等。不幸的是,这实际上修改了数据库(预期的)。 有什么方法可以运行这些测试,但实际上不能修改数据库吗? 1)在单元测试类中,如果要使用@TestPropertySource(properties = {"security.basic.enabled=false"})
覆盖您的安全设置,请使用@TestPropertySource(locations="classpath:test.properties")
完全不同的属性文件测试。
2)您可以使用模拟,或者如果您不想在集成测试中使用模拟,那么每次测试之后,您都必须使用类似以下的方法来清理数据库:
@After
public void tearDown() {
cleanupDatabase();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.