我的junit测试看起来像一个长篇故事:
优点:测试非常有效(非常擅长检测错误)并且非常稳定,因为它们只使用API,如果我重构代码,那么测试也会被重构.由于我不使用"脏技巧",例如在给定状态下保存和重新加载数据库,我的测试无视模式更改和实现更改.
缺点:测试变得难以维护,测试中的任何更改都会影响其他测试.测试运行8-9分钟,这对于持续集成非常有用,但对开发人员来说有点令人沮丧.测试不能孤立运行,你可以做的最好的事情是在你感兴趣的测试运行后停止 - 但是你绝对必须运行之前的所有测试.
你会如何改进我的考试?