【问题标题】:JUnit 3 assumption like JUnit4 needed or equivalent technique available to Java 1.4JUnit 3 假设需要 JUnit4 或 Java 1.4 可用的等效技术
【发布时间】:2014-01-06 13:00:42
【问题描述】:

我正在开发一个带有公共 api 的应用程序,该应用程序已经过大量 JUnit 3 测试的全面测试。发生了一些变化,现在有两个初始配置设置需要测试。我想只运行每个配置的所有测试套件,但是基于初始条件,一小部分 api 方法现在表现不同。我想实现一些注释或使用假设来切换测试方法,但我实际上被困在 Java 1.4 上,所以注释和 JUnit 4 遥不可及...

任何想法如何从这里取得进展?由于语义原因,我想避免拆分类或移动方法。

注意:这些测试并非微不足道,仅在配置上配置预期结果是行不通的。

我当然可以做类似的事情

public testAbc() {
  if (cond) 
      testAbc0();
  else 
      testAbc1();
}

但这让我觉得很丑。

【问题讨论】:

  • 如果您想使用注释,也许您可​​以使用支持将它们向后移植到 1.4 的工具之一。见stackoverflow.com/questions/1011706/…
  • 即使您的部署必须以 1.4 为目标,也请考虑使用更高版本进行测试(例如 Different maven compiler versions for test and main)。
  • @Joe 抱歉稍后回答,这实际上是它现在的工作方式。 API 使用 Java 1.4 编译,但测试套件现在在 Java 6 VM 中运行。请添加您的评论作为答案,以便我接受。

标签: java junit junit4 junit3 java1.4


【解决方案1】:

即使您的部署必须以 1.4 为目标,也请考虑使用更高版本进行测试(例如 Different maven compiler versions for test and main)。

这将允许您部署使用 1.4 JDK 编译的二进制文件,并且仍然可以利用测试框架中的任何后续功能,以及积累当前 Java 的经验以准备生产升级。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2012-12-08
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多