在Eclipse中快速运行多个项目的Junit测试
有没有办法在Eclipse中快速方便地从几个项目运行JUnit-Test?在Eclipse中快速运行多个项目的Junit测试
JUnit-Runner允许您定义一个包或所有包含测试执行的文件夹。
有没有办法做到这一点与Eclipse的几个项目的测试? 最好是通过Junit-Runner。如果有一些方法可以通过Ant-job快速完成(所以不要依赖于之前用ant完成的构建),那也不错。
无法通过UI做。查看JUnit收集的最高级元素的扩展点是Project。我想你可以编写一个插件为工作集贡献额外的上下文项/快捷方式,使工作集在包浏览器中设置顶级项目,并将您想要测试的项目集中在该工作集下面。 这样做的问题是您在定义用于启用/禁用“run as”贡献的上下文规则时遇到问题,并且我不确定语义是否延伸到工作集。所以你必须编写一些包装来遍历包含的项目并收集他们的测试类型。这似乎确实是一个有趣的小问题。我今天放学后可能会玩一玩。
另一个(稍微少一点)hacky的方式是在所有目标项目上设置项目依赖关系的另一个项目,然后使用链接的资源将所有测试类型引入新项目(在此之前我已发布answer介绍如何链接不同项目的资源)。 当然,如果你这样做,你也需要管理测试项目的依赖关系。
如果您为每个项目创建TestSuite,并为另一个引用所有项目套件的超级TestSuite创建TestSuite,则必须检查是否包含每个测试都容易出错。
如果您不喜欢使用插件或链接资源,那么您最好使用Ant。
您可以定义一个独立的项目,该项目依赖于其他项目,其中包含引用不同项目中单个测试或套件的套件。事情是这样的:
@RunWith(Suite.class)
@Suite.SuiteClasses({ FirstProjectSuite.class, SecondProjectSuite.class})
public class AllSuites { }
我不知道你不能从UI做,而是从蚂蚁是可能的,即使你不使用Ant构建您的插件。不过,这种方法也不是那么微不足道,但一旦它的成立,东西都凉; O)
在这里获得更多的信息:
http://www.eclipse.org/articles/article.php?file=Article-PDEJUnitAntAutomation/index.html
实际上很容易在Eclipse中跨多个项目执行JUnit测试。看看Classpath Suite。这不是标准的JUnit跑步者,但你没有提到这个要求来自哪里,所以我不确定这是否会影响你。
所有使用信息是在该网页上,但总结:
- 创建取决于你要测试的项目Eclipse项目。
-
编写一个简单的测试套件,包括一切:
@RunWith(ClasspathSuite.class) public class MySuite {}