我想在springboot中设置端到端的集成测试,因此调用rest端点,并验证springboot应用程序是否在数据库中进行了正确的更新。
我不知道正确的方法是什么。
在我看来最符合逻辑的 SpringBootTest.WebEnvironment.RANDOM_PORT
(实际运行应用程序)并使用 TestRestTemplate
调用rest端点。问题是应用程序在自己的事务中运行。在调用rest端点之前,我在测试中添加到数据库中的任何数据在spring启动应用程序中都是不可见的。
我可以拿走 @Transactional
注解,但测试设置不会在测试结束时回滚,这意味着它可能会影响其他测试。一种选择是在测试的最后一个操作中清除所有表,但这似乎是一种糟糕的解决方法。
暂无答案!
目前还没有任何答案,快来回答吧!