我正在使用 Selenium 和 JUnit 来自动化一些测试。我希望能够将其导出到可运行的 jar 文件中。我无法做到这一点,我假设这是因为没有 main 方法,JVM 不知道要运行什么......
我看到了这个帖子如何将(JUnit)测试套件导出为可执行 jar https://stackoverflow.com/q/4648341/8854270它建议添加一个 main 并从那里运行 JUnit。 (我本来想对那篇文章发表评论,但它不允许我????)
public static void main(String[] args) {
JUnitCore.main("folder.package.testClass");
}
我用这个 main 方法创建了一个新的 java 类,但测试类从未执行(来自 eclipse)。此外,如果我尝试导出该项目,我会收到错误并且无法导出。
为了将所有 JUnit 类导出到 1 个 Jar 文件并从那里运行,最好的方法是什么?我可能会构建一个小菜单,用户可以在其中选择他们想要运行的测试类(我假设在某些地方需要一个 main 方法......)。
您可以通过执行以下操作来执行测试(刚刚检查了当前场景):
- 创建新的 EclipseJava项目
- 将 junit 和 hamcrest jar 添加到您的构建路径(我正在使用junit-4.12 and hamcrest-core-1.3)。它应该看起来:
-
在下创建您的测试test folder:
package com.example.junit5;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class FirstTest {
@Test
public void testTrue() {
System.out.println("Executing testTrue()");
assertTrue(true);
}
}
-
在下面创建您的主(执行器)类src folder:
package com.example.junit5;
import org.junit.runner.JUnitCore;
public class Executor {
public static void main(String[] args) {
JUnitCore.main("com.example.junit5.FirstTest");
}
}
执行你的测试Java应用程序. 结果应该是:
我的环境配置是:
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)
希望这会有所帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)