我有一个测试控制器的集成测试。我传递了一个请求并得到了回复,测试通过了。但是,在发出请求之前,我必须向/authenticate
端点发出请求以检索令牌,以便将其放入请求的标头中。我有两个问题
/add
,/get
等。不幸的是,这实际上修改了数据库(预期)。有没有办法运行这些测试,但实际上修改数据库?答案 0 :(得分:0)
1)在单元测试类中,如果要使用完全不同的属性文件测试,请使用@TestPropertySource(properties = {"security.basic.enabled=false"})
覆盖您的安全设置或@TestPropertySource(locations="classpath:test.properties")
。
2)您可以使用模拟,或者如果您不想在集成测试中使用模拟,那么您必须在每次测试后使用以下内容清理数据库:
@After
public void tearDown() {
cleanupDatabase();
}