spring-boot - 在 Spring Boot 中调试 JUnit 测试时提交内部事务
问题描述
我按照文档中的@Transactional
建议将注释添加到我的 JUnit 测试类中。
但是,测试方法正在访问多个服务方法,每个方法都是一个事务(并且也带有注释@Transactional
)。也许这些不是单元测试?无论如何,我希望我的测试调用多个服务方法,无论你如何调用它们。
测试中间的内部事务没有提交到数据库(因为Test类@Transactional
注解),所以我无法在每次内部事务后调试测试时检查数据库。但是,如果我删除@Transactional
注释,测试就会中断。
我应该如何配置测试以便在内部事务发生时提交它们?
解决方案
使用 Spring Framework 3.2.x,您可以使用它@Rollback(false)
来指示Spring TestContext Framework为您的集成测试提交事务。
从 Spring Framework 4.2 开始,您可以使用它@Commit
来实现相同的目标。
推荐阅读
- python - Python - 根据变量触发特定函数
- relational-database - 这张表是 1NF 还是 2NF?
- babylonjs - 在网格点击时,ArcRotateCamera 专注于
- wpf - 在 ControlTemplate.Triggers 中查找 AncestorType 的问题
- java - 显示错误的输出,我无法弄清楚我的错误
- python - scipy.stats.chi2 返回 Nan 概率
- r - 如何计算每小时的入住率?
- javascript - 如何在 Markdown 文件中嵌入视频、图片库、表单?
- kotlin - 具有通用输入的高阶函数的重载分辨率模糊性
- python - 如何将身份验证功能放入烧瓶中的@app.before_request