spring - 测试问题、测试顺序和自动增量
问题描述
我在春天做集成测试。我目前正在测试控制器层并且有一个需要帮助的问题。
我现在有几个功能,比如 crud 操作等等。
问题在于使用集成测试进行测试时,它涉及
测试数据库(mysql数据库)中的测试顺序和自动增量。
当我一个接一个地运行测试时,它们都可以工作并且它们是成功的,但是当我一次运行所有东西时,
在测试类上,因为执行顺序,在几个测试中都会出现错误。
例如,首先执行添加测试。在其中,添加之后,当然,我删除了我添加到数据库中的项目,但这不会重新启动自动增量,这代表其他测试中的问题。
我通过修改其他测试解决了这个问题,但我认为这不是正确的解决方案。我希望我很好地解释了问题所在。这个问题有哪些可能的解决方案?每次测试后是否可以重新启动自动增量。
如果有人能解决这个问题并且有人得救,我将不胜感激。谢谢。
解决方案
为什么在测试时将数据持久化到数据库中。(而不是嘲笑)
测试用例执行顺序不固定。我们不应该让一个测试用例依赖于另一个。
请参阅此处的 CRUD 测试。
https://howtodoinjava.com/spring-boot2/testing/rest-controller-unit-test-example/
推荐阅读
- mfc - MFC:将 CSplitterWnd 应用到我的 CChildFrame 后,主窗口标题不再更新
- node.js - socket.io Typescript 无法创建服务器,“此表达式不可调用”
- android - 涉及 MutableSharedFlow 的测试 - java.lang.IllegalStateException:此作业尚未完成
- python - 将选定的频道排除在 discord.py 循环之外
- matlab - 在 MATLAB 中查找雅可比模式以指定“jpattern”
- php - 在 Laravel ajax 中的表中搜索后如何从 1 重新开始列号?
- php - 为 Laravel API 存储数据时没有任何反应
- ios - 开发者和帐户持有人都需要付费的 Apple Developer 帐户吗?
- javascript - 如何使用 Javascript 过滤多个数组
- android - 如果用户不先点击 Firebase 身份验证发送的验证链接,如何防止用户登录 Android 应用?