gpt4 book ai didi

spring - @SpringBootTest 和 @Transactional 导致测试卡住

转载 作者:行者123 更新时间:2023-12-02 08:42:17 25 4
gpt4 key购买 nike

当组合@SpringBootTest@Transactional时,我的测试卡住并且永远不会恢复。

我已经构建了问题的演示 here .

getAgain由于 @Before 导致唯一约束违规而失败。为了解决这个问题,我通常会包含一个 @Transactional above the class每次测试后自动回滚我的更改。但是,这会导致测试卡住并且永远不会恢复。

知道为什么这两个注释不能很好地协同工作吗?

最佳答案

或者,您可以使用 @SqlGroup 来初始化数据库,而不是 ResourceDatabasePopulator

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@SqlGroup({
@Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = "/testbed.sql"),
@Sql(executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, scripts = "/clear.sql") })
public class UserControllerTest {

我已经对您的示例项目进行了更改,并且运行良好。您可以在这里看到它们:springboottest-transactional

关于spring - @SpringBootTest 和 @Transactional 导致测试卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43947327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com