【发布时间】:2011-06-06 20:19:31
【问题描述】:
总的来说,我对 TDD 很陌生,所以如果我的问题没有多大意义,请原谅我。
看了一圈,jUnit似乎可以实现集成测试。我希望社区可以为我提供一些关于如何编写集成测试的指导。这是我的设计的简单概述。
我有Main1,它接受一个 zip 文件列表。 Main 将提取 zip 文件,编辑 zip 文件中 pdf 的内容,并将最终的 pdf 文件放入文件夹 X。如果pdf的数量达到THRESHOLD,那么Main2Processor(不是主类)将被调用并压缩所有的pdf文件,并创建一个与新创建的zip文件同名的报告文本文件。
如果我运行Main2,它也会启动Main2Processor,它将压缩pdf文件并创建文本文件报告(即使文件夹X中的pdf数量没有达到阈值)。
如何编写集成测试来测试上述设计的正确性?
【问题讨论】:
-
如果至少能提供Main1、Main2等接口就好了。TDD不仅描述了你设计测试的方式,还描述了你设计业务代码的方式。
-
另外,你的组件命名有点奇怪,除非你隐藏真实姓名,当然:)。通常在 Java/C 世界中 main 是一个用于启动程序的函数,但是如果您想设计可测试的代码,您可能应该将其拆分为可替换的组件。这将允许您用模拟替换一些类。
-
@Andrey:抱歉我的回复晚了。是的,我试图隐藏班级的真实姓名。如果您可以提供一些代码来证明您所说的
if you want to design a testable code you probably should split it into replacable components. That will allow you to replace some of the classes with mocks,是否有可能。非常感谢。 +1 -
互联网上有大量关于可测试性设计的资料。例如,您可以观看此演示:youtube.com/watch?v=acjvKJiOvXw&feature=player_embedded
标签: java junit tdd integration-testing