我一直在编写处理对象某些字段的代码,通过修改它们的值。为了测试它,我首先编写了一个递归遍历对象字段的JUnit测试用例,并确保它们被正确修改。 CUT(被测试类)做了类似的变化:递归遍历对象的字段并根据需要修改它们。Java:类中的代码重复和他们的Junit测试用例
所以代码递归遍历领域保持测试用例和CUT相同,目前正在复制,这是防干烧。所以,我有两个问题:
1)有你在你的项目中碰到过这样的情况呢?如果是,你是否应用DRY,还是让这种重复保持原样?
2)如果我在一个实用程序,方法把这个共同的代码,我需要编写测试用例来测试,这将再次涉及穿越域递归。那么如何解决这个问题而不会增加任何重复?
我在这里显示了类似的代码:http://stackoverflow.com/questions/10749946/java-using-command-pattern-in-the-following-code我正在处理的对象很大,所以编写一个非递归JUnit测试它们会变得相当长。也许这是测试它的唯一方法。你说的在测试和CUT中有相同的错误是正确的。我用同样的代码烧了我的手指。 – shrini1000
@ shrini1000:看你的代码:**是**,创建一些样本对象并手动执行所有的断言。这**是正确的方式。 –