在Eclipse中快速方便地从多个项目中运行Junit-Tests

Ans*_*gar 20 java eclipse ant junit eclipse-3.5

有没有办法在Eclipse中快速地从几个项目中运行JUnit-Tests?

JUnit-Runner允许您定义包含所有包含的测试的包或文件夹.

有没有办法用Eclipse中的几个项目进行测试?最好是通过Junit-Runner.如果有一些方法可以通过Ant-job快速获取它(所以不依赖于之前使用ant的完整构建),那也很好.

Mic*_*fel 8

从Eclipse中跨多个项目执行JUnit测试实际上非常容易.看看Classpath Suite.这不是标准的JUnit跑步者,但你没有提到这个要求来自哪里,所以我不确定这是否会影响你.

所有使用信息都在该页面上,但总结如下:

  1. 根据要测试的所有项目创建Eclipse项目.
  2. 写一个简单的测试套件,包括一切:

    @RunWith(ClasspathSuite.class)  
    public class MySuite {}
    
    Run Code Online (Sandbox Code Playgroud)


Ric*_*ler 4

您无法通过 UI 来完成此操作。查看扩展点,JUnit 将收集的最高级别元素是项目。我想您可以编写一个插件来为工作集提供额外的上下文项/快捷方式,使工作集成为包资源管理器中的顶级项,并将要在该工作集下测试的项目分组在一起。这样做的问题是您很难定义用于启用/禁用“运行方式”贡献的上下文规则,并且我不确定语义是否扩展到工作集。因此,您必须编写某种包装器来迭代所包含的项目并收集它们的测试类型。这看起来确实是一个有趣的小问题。今天放学后我可能会玩它。

另一种(稍微少一些)的hacky方法是设置另一个项目,其项目依赖于所有目标项目,然后使用链接的资源将所有测试类型引入新项目(我之前发布了一个答案,描述了如何链接跨项目的来源)。当然,如果您这样做,您还需要管理测试项目的依赖项。

如果为每个项目创建一个 TestSuite,并创建另一个引用所有项目套件的 uber TestSuite,则必须检查是否包含每个测试,这很容易出错。

如果您不喜欢使用插件或链接资源,那么您可能最好使用 Ant。