对我的junit测试看起来像一个漫长的故事:
>我创建4个用户
>我删除1个用户
>我尝试使用已删除的用户登录,并确保它失败
>我用剩下的3个用户登录,验证我可以登录
>我将消息从一个用户发送到另一个用户,并确认它显示在发件人的发件人和收件人的收件箱中.
>我删除消息
> …
> …
优点:
测试是非常有效的(非常好的检测错误),并且非常稳定,因为他们只使用API,如果我重构代码,那么测试也被重构.因为我不使用“肮脏的技巧”,例如在给定的状态下保存和重新加载数据库,所以我的测试忽略了模式更改和实现更改.
缺点:
测试变得难以维护,任何测试变化都会影响其他测试.测试运行8-9分钟,这对于持续集成是非常好的,但对开发人员来说有点令人沮丧.测试不能孤立运行,您可以做的最好的就是在您感兴趣的测试中停止运行,但您绝对必须运行所有以前的测试.
你如何改进我的测试?