【问题标题】:JUnit Test Runner that creates tests just before running themJUnit Test Runner 在运行测试之前创建测试
【发布时间】:2010-11-14 14:06:22
【问题描述】:

我使用 JUnit 3.x TestRunner 在运行所有测试之前立即对其进行实例化。

是否有可用的 Test Runner 可以在运行之前创建每个测试(或至少每个测试套件的测试)?
我可以使用 JUnit 4.x 运行器,但我的测试是 3.x 测试。

【问题讨论】:

  • 您能否提供更多信息,为什么您需要这样做?我不是唯一一个怀疑还有更多事情要知道的人。
  • 我们有一些广泛的测试基础设施代码,可以帮助我们组织测试环境和测试数据。不幸的是,有些测试使用构造函数,有些测试使用 setUp 来驱动它。我们遇到的问题与时间有关。与其重构将事物从构造函数转移到 setUp,不如让构造函数在 setUp 之前运行会更容易。
  • 另外,我看不出单元测试框架在创建测试(执行构造函数)JIT 或在测试运行之前排列它们之间有任何显着差异。

标签: java junit testing test-suite test-runner


【解决方案1】:

在 JUnit 3 中,您需要编写自己的 TestSuite 类来延迟套件中测试的实例化。

【讨论】:

    【解决方案2】:

    你可能做错了。

    每个单元测试都应该是独立的,不依赖于任何其他测试结果。 否则,当其中一个测试中断时,它将破坏所有依赖它的测试。因此,您将看到很多错误,而无法轻松了解实际原因。另一方面,如果所有单元测试都是独立的,则损坏的测试非常容易调试和修复。

    编辑:我假设您提出原始问题的原因是因为您的测试中有一些依赖项。如果我错了,请忽略这个答案:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 2019-07-26
      相关资源
      最近更新 更多