我是JUnit的新手。目前有两个单独的JUnit测试类,它们都有4个测试,除了其中一个测试对于两个测试类都是相同的。是否有一种简单的方法可以以某种方式重构代码,以便我可以以某种方式导入'对两个班级的共同考验?
我考虑过创建一个超类来提取常见的测试,但是在这种情况下看起来有点矫枉过正。
有什么建议吗?
非常感谢。
答案 0 :(得分:1)
它取决于上下文,但一般来说,您应该应用与普通代码相同的重构技术:
答案 1 :(得分:1)
使用超级课程并非闻所未闻。但是,如果您的层次结构增长,这可能会很痛苦。我已经看到构建超级类网只是为了发现在调试时很难遵循代码(特别是当它不是你的时候)。尽管如此,它仍然是一个可行的解决方案。
将常用方法解压缩到一个单独的类中,然后只需导入它。如果在类之间出现更多代码,则可以添加更多可能在类之间通用的方法。
如果您没有完成单元测试,您可能会发现这些单元测试可能会发生变化,因此请记住,如果需要,您也可以稍后参数化这些方法。
希望这有帮助。