2 回答
![?](http://img1.sycdn.imooc.com/54584c9c0001489602200220-100-100.jpg)
TA贡献1796条经验 获得超4个赞
我能够通过regular class调用 my来使其工作,Test Suite Class该调用调用了 my JUnit Test Classes. 我不知道为什么它以前不起作用,但是这次当我尝试导出时,那里有一个新选项。
下面的解决方案
JUnit 测试套件类(运行我放入@SuiteClasses 的所有测试类,由“TestRunner”类调用)
package myPackageName;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ TestClass1.class, TestClass2.class })
public class AllTests {
}
TestRunner Class,导出到可执行 jar 中的类。这是缺失的部分,没有它,导出将无法进行。
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());
}
}
}
导出步骤
点击文件,点击导出
打开java文件夹,点击'Runnable JAR file',点击下一步
启动配置下拉菜单显示了一个选项“myPackageName - TestRunner”。这是我能够选择包含将由 JAR 运行的主要方法的类的地方。(我之前遇到的问题,它不存在,如果我选择了其他出现的类,它会出现导出错误)。
我使用“将所需的库打包到生成的 JAR 中”选项进行库处理,我认为它是正确的,因为我有 selenium 库。
单击完成
通过打开 Windows 资源管理器并单击它来运行 JAR。或者,打开 CMD,cd 到文件目录,然后运行
java -jar myJarName.jar
.
![?](http://img1.sycdn.imooc.com/545862120001766302200220-100-100.jpg)
TA贡献1840条经验 获得超5个赞
如果你的目标是运行一些 selenium 测试并且你的测试不是太大,为什么不使用selenium ide(firefox 插件,这里是 chrome)?
这取决于您是否希望这些测试具有可维护性和进化性,但如果它们只是为了检查事情是否仍然有效,请尝试一下。此外,它还允许您的 BA 编写自己的测试。无需了解编程,只需点击即可。有点。
整个端到端测试的维护成本非常高,但如果您的应用程序在表面(其 UI)上没有太多发展,那么它可能是值得的。
有关一般测试的深入文章,包括测试金字塔,请阅读Martin Fowler 的这篇文章,非常好。
添加回答
举报