Java 如何将JUnit测试用例导出到可执行文件.jar中?
我正在使用Selenium和JUnit自动化一些测试。我希望能够将其导出到一个可运行的jar文件中。我不能,我假设是因为没有主方法,JVM不知道运行什么Java 如何将JUnit测试用例导出到可执行文件.jar中?,java,testing,junit,Java,Testing,Junit,我正在使用Selenium和JUnit自动化一些测试。我希望能够将其导出到一个可运行的jar文件中。我不能,我假设是因为没有主方法,JVM不知道运行什么 我看到这篇文章,它建议添加一个main并从那里运行JUnit。(我可能会对这篇文章发表评论,但它不允许我通过执行以下操作来执行测试(只检查了当前场景): 创建新的EclipseJava项目 将junit和hamcrest JAR添加到构建路径中(我使用的是junit-4.12和hamcrest-core-1.3) 在测试文件夹下创建测试:
我看到这篇文章,它建议添加一个main并从那里运行JUnit。(我可能会对这篇文章发表评论,但它不允许我通过执行以下操作来执行测试(只检查了当前场景):
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
希望这会有所帮助以下代码最终对我有用
package myPackageName;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class testRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(AllTests.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
}
}
这可能是导出错误的原因。首先,确保您正在创建有效的可执行jar(带有一些打印行等)它也不是从eclipse运行的。但是导出不起作用,我知道这是brokenlet关注的执行问题。我相信你肯定问题就在这里。是的,我厌倦了上面的代码,我也尝试了这里提供的Java类运行的代码,但它从不访问JUnit类,也从不运行它。链接中提供的示例要求让您指向一个测试套件类而不是包。是“folder.package.testClass”吗?是指向测试套件类的路径吗?
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
package myPackageName;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class testRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(AllTests.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
}
}