gpt4 book ai didi

java - 从 Eclipse 中的依赖 jar 运行 JUnit 测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:54 26 4
gpt4 key购买 nike

我有一些 JUnit 测试包含在 .jar 中,旨在用作库。该库包含一些在另一个项目中使用该库时应运行的测试。

然而,当我使用库创建一个新项目并在 Eclipse 中运行 JUnit 时,依赖项 .jar 中的测试不会运行/不会被 JUnit 测试运行器检测到.我收到消息:

No tests found with test runner 'JUnit 4'.

有没有一种方法可以配置依赖项 .jar,以便测试将与可能包含在主项目中的任何测试一起运行?

基本上,我希望依赖项 .jar 将测试“导出”到使用它的任何项目。

我使用 Eclipse Juno、JUnit 4.10 和 Maven 进行依赖管理。

编辑:

这个库的目的是能够帮助测试使用它的项目——即它运行一些专门的测试。这就是为什么我希望能够导入库 .jar 并让它为导入项目贡献额外的测试。

最佳答案

您可以尝试Maven Surefire

在某些情况下,拥有一组使用各种依赖项配置运行的测试会很有用。实现此目的的一种方法是拥有一个包含单元测试并生成测试 jar 的项目。然后,多个测试配置项目可以使用单元测试并使用不同的依赖集运行它们。问题是没有简单的方法在依赖 jar 中运行测试。 Surefire 插件应具有允许我运行依赖项 jar 中包含的所有或一组单元测试的配置。

这可以按如下方式完成(Junit 3):

确保测试 jar 包含一个具有静态 suite() 方法的类

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTests {
public static Test suite()
{
TestSuite suite = new TestSuite( "All Tests");
suite.addTestSuite(TestOne.class);
suite.addTestSuite(TestTwo.class);
return suite;
}
}

然后在项目中使用test-jar依赖:创建一个测试用例:

package org.melati.example.contacts;
import org.melati.poem.AllExportedTests;
import junit.framework.Test;
import junit.framework.TestCase;

public class PoemTest extends TestCase {
public static Test suite()
{
return AllExportedTests.suite();
}
}

现在将找到测试。

关于java - 从 Eclipse 中的依赖 jar 运行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com