【问题标题】:Are there any Java open source projects with both integration and unit test suites?是否有任何具有集成和单元测试套件的 Java 开源项目?
【发布时间】:2009-08-09 23:02:16
【问题描述】:

我正在寻找一个包含两个相当完整的测试套件的开源 Java 项目:一套集成测试 一套单元测试,对于相同的代码。

请注意,我只对使用 JUnit 或 TestNG 编写的开发人员测试感兴趣。

我问这个是因为我经常看到人们说有必要同时进行单元测试和集成测试。但到目前为止,我不知道有任何代码库具有这两种测试覆盖率。

有人知道这样的项目吗?

【问题讨论】:

  • 定义“合理完成”:-)。我目前从事的所有项目都有 JUnit 测试和集成测试,但我不会贸然宣称测试已经完成。
  • 我会说至少 60% 的语句覆盖率认为非平凡的测试套件是“相当完整的”。我只是想避免将时间花在开发人员没有认真尝试编写所有重要测试的测试套件上。

标签: java unit-testing integration-testing


【解决方案1】:

看看tapestry 网络框架。从代码质量的角度来看,这是我见过的最好的代码之一!它同时使用单元测试和集成测试(硒驱动)。它们与 maven 很好地集成,因此您可以在本地运行它们。我会更喜欢 canoo-webtest(独立于浏览器),但套件很好。

但你是对的,都是强制(自动化)单元+集成测试,但你在实践中几乎看不到它......虽然它真的有回报!

【讨论】:

  • 谢谢,这更像是我想要的。单元测试使用 EasyMock 模拟库,而集成测试使用 Selenium……确实非常好。
  • 非常好的示例如何使用 selenium 框架以及如何处理等待页面加载以及如何使用 selenium 测试 ajax 请求。
【解决方案2】:

FitNess 应该两者兼得。我知道 Fitness 的测试覆盖率非常高,并且以干净的代码为荣。我不完全确定是否有集成测试,但由于 fitNess 是一个验收测试框架,他们可能拥有各种测试类型。

你可以在这里找到源代码http://fitnesse.org/在下载下

【讨论】:

  • 谢谢。我刚刚检查了 FitNesse 的源代码。在“src/fitnesse/”下,我找到了“FitNesseExpediter.java”和“FitNesseExpediterTest.java”,以及许多其他对生产/测试类。不幸的是,我只能找到一个测试套件,而且这些测试似乎主要是集成测试。以“testAuthenticationGetsCalled”为例:它断言“response.getStatus()”为 401,但被测试的方法 (“createGoodResponse”) 实际上将此责任委托给另一个类“Responder”。
【解决方案3】:

CruiseControl 有单元测试和功能测试。大多数(全部?)功能测试都是针对最新的组件仪表板。但是,如果您将要查看的内容限制在该组件上,您会发现单元测试和功能测试。

【讨论】:

  • 谢谢。我查看了这些测试,确实有针对仪表板组件的开发人员测试,包括单元测试和功能测试。这些功能测试是使用 JWebUnit(有些使用 Selenium)在 JUnit 中编写的。我想知道在这种情况下集成和功能测试是否真的没有什么不同......
猜你喜欢
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 2013-03-16
  • 2016-10-19
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
相关资源
最近更新 更多