有没有适用于控制台Java应用程序的通用集成测试框架?

3
例如,我要编写一个应用程序。它的核心要求很简单。它会不断地扫描一个文件夹。如果有新文件到达,它将把它传输到FTP站点。它将被写成JAVA控制台应用程序。
我想知道是否有集成测试框架,例如开源框架,适用于这种类型的应用程序?它应该能够测试以下示例测试用例。
  1. 生成文件,然后检查这些文件是否已传输到FTP。
  2. 如果FTP挂了,应用程序能否报告相应的警告日志?
  3. 等等。
提前致谢。
1个回答

2
JUnit 结合一些模拟框架,比如 Mockito ,应该可以让你有所进展。如果你想进一步,例如运行外部服务的实际实例,你可以使用 JUnit 和 Cargo ,例如启动 Java EE 容器作为测试的一部分。轻量级的内存数据库,如 HSQLDB ,通常用作集成测试的占位符数据库。
我听说过一些人使用 JBoss Arquillian,但我自己没有尝试过。它更多是用于远程测试 Java EE 组件,因此可能不适合您的确切要求。

JUnit、Mockito 和 HSQLDB 应该能够处理这个问题中提到的所有内容。 - Eric Wilson
但是什么?我觉得你只发了你评论的一部分。 - pap
哇... Stackoverflow有些问题。对于我的情况来说,它看起来有点复杂。实际上我需要的是下面这样的东西:
  1. 这个ITF可以启动我的应用程序。
  2. 在启动我的应用程序之前/之后/期间,我可以编写一些自定义代码/脚本来进行准备/检查。
- Smartmarkey
我建议使用一些持续集成平台,例如Hudson或TeamCity。当你说“集成测试框架”时,我认为这就是你真正需要的东西。它基本上是一个中央服务器,运行你的构建(以及JUnit测试,例如)。 - pap
谢谢,老爸。我要使用testNG、mockito和CruiseControl来完成我的工作。 :) - Smartmarkey
听起来是一个相当标准的设置。祝你好运! - pap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接