【发布时间】:2010-10-10 00:43:03
【问题描述】:
是的,我的 junit 测试看起来很长:
- 我创建了 4 个用户
- 我删除了 1 个用户
- 我尝试使用已删除的用户登录并确保失败
- 我使用剩下的 3 个用户之一登录并验证我可以登录
- 我将消息从一个用户发送给另一个用户,并验证它是否出现在发件人的发件箱和收件人的收件箱中。
- 我删除了消息
- ...
- ...
优势: 测试非常有效(非常擅长检测错误)并且非常稳定,因为它们只使用 API,如果我重构代码,那么测试也会被重构。由于我不使用诸如在给定状态下保存和重新加载数据库之类的“肮脏技巧”,因此我的测试忽略了架构更改和实现更改。
缺点: 测试变得难以维护,测试中的任何更改都会影响其他测试。测试运行 8-9 分钟,这对于持续集成非常有用,但对开发人员来说有点令人沮丧。测试不能单独运行,你能做的最好的就是在你感兴趣的测试运行之后停止——但你绝对必须运行之前的所有测试。
您将如何改进我的测试?
【问题讨论】:
-
阅读其他人的一些代码,看看他们是如何做到的。
标签: java unit-testing spring junit