JUnit 命令行运行

来源:互联网 发布:php麻将机器人ai算法 编辑:程序博客网 时间:2024/06/03 21:20

使用Appium自动化测试,编写好了自动测试用例,最后希望在命令行里启动脚本自动运行。 

这里不介绍Appium的内容,用一个简单的测试类来实现。


首先写一个减法类

package android;public class WzySub {    public int sub(int a, int b){        return a-b;    }}

然后针对这个减法类写一个测试类

package test.android; import android.WzySub;import org.junit.Test;import org.junit.Before; import org.junit.After;import static org.junit.Assert.assertEquals;/** * WzySub Tester. * * @author <Authors name> * @since <pre> 11,23, 2017</pre> * @version 1.0 */ public class WzySubTest { @Beforepublic void before() throws Exception { } @Afterpublic void after() throws Exception { } /** * * Method: sub(int a, int b) * */ @Testpublic void testSub() throws Exception {     assertEquals(-2, new WzySub().sub(2,1));} } 

右键运行这个测试类,不通过,因为2-1 != -2:



如果把assertEquals(-2 改为 assertEquals(1,再运行,红条变绿条,通过



再写一个JunitRunner的类,运行这个测试类:

package test.android;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;public class JunitRunner {    public static void main(String[] args) {        Result result = JUnitCore.runClasses(WzySubTest.class);        for (Failure fail : result.getFailures()) {            System.out.println(fail.toString());        }        if (result.wasSuccessful()) {            System.out.println("All tests finished successfully...");        }    }}


接下来怎样在命令行里运行呢? 我用的IDE是Intellij IDEA,首先右键运行JunitRunner,注意下面的红框,点击它


就会展开,这个是完整的命令: 

D:\Java\jdk1.8.0_51\bin\java "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2017.2.6\lib\idea_rt.jar=58539:D:\Program Files\JetBrains\IntelliJ IDEA 2017.2.6\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\jdk1.8.0_51\jre\lib\charsets.jar;D:\Java\jdk1.8.0_51\jre\lib\deploy.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_51\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_51\jre\lib\javaws.jar;D:\Java\jdk1.8.0_51\jre\lib\jce.jar;D:\Java\jdk1.8.0_51\jre\lib\jfr.jar;D:\Java\jdk1.8.0_51\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_51\jre\lib\jsse.jar;D:\Java\jdk1.8.0_51\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_51\jre\lib\plugin.jar;D:\Java\jdk1.8.0_51\jre\lib\resources.jar;D:\Java\jdk1.8.0_51\jre\lib\rt.jar;D:\workspace\AppiumTest\src\main\target\classes;D:\maven_repository\io\appium\java-client\5.0.4\java-client-5.0.4.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-java\3.6.0\selenium-java-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-chrome-driver\3.6.0\selenium-chrome-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-edge-driver\3.6.0\selenium-edge-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-firefox-driver\3.6.0\selenium-firefox-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-ie-driver\3.6.0\selenium-ie-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-opera-driver\3.6.0\selenium-opera-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-remote-driver\3.6.0\selenium-remote-driver-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-safari-driver\3.6.0\selenium-safari-driver-3.6.0.jar;D:\maven_repository\net\bytebuddy\byte-buddy\1.7.5\byte-buddy-1.7.5.jar;D:\maven_repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;D:\maven_repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\maven_repository\com\google\guava\guava\23.0\guava-23.0.jar;D:\maven_repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;D:\maven_repository\com\google\errorprone\error_prone_annotations\2.0.18\error_prone_annotations-2.0.18.jar;D:\maven_repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;D:\maven_repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar;D:\maven_repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;D:\maven_repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;D:\maven_repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-support\3.6.0\selenium-support-3.6.0.jar;D:\maven_repository\org\seleniumhq\selenium\selenium-api\3.6.0\selenium-api-3.6.0.jar;D:\maven_repository\com\google\code\gson\gson\2.8.2\gson-2.8.2.jar;D:\maven_repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;D:\maven_repository\cglib\cglib\3.2.5\cglib-3.2.5.jar;D:\maven_repository\org\ow2\asm\asm\5.2\asm-5.2.jar;D:\maven_repository\org\apache\ant\ant\1.9.6\ant-1.9.6.jar;D:\maven_repository\org\apache\ant\ant-launcher\1.9.6\ant-launcher-1.9.6.jar;D:\maven_repository\commons-validator\commons-validator\1.6\commons-validator-1.6.jar;D:\maven_repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;D:\maven_repository\commons-digester\commons-digester\1.8.1\commons-digester-1.8.1.jar;D:\maven_repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;D:\maven_repository\org\apache\commons\commons-lang3\3.6\commons-lang3-3.6.jar;D:\maven_repository\commons-io\commons-io\2.5\commons-io-2.5.jar;D:\maven_repository\org\springframework\spring-context\5.0.0.RELEASE\spring-context-5.0.0.RELEASE.jar;D:\maven_repository\org\springframework\spring-aop\5.0.0.RELEASE\spring-aop-5.0.0.RELEASE.jar;D:\maven_repository\org\springframework\spring-beans\5.0.0.RELEASE\spring-beans-5.0.0.RELEASE.jar;D:\maven_repository\org\springframework\spring-core\5.0.0.RELEASE\spring-core-5.0.0.RELEASE.jar;D:\maven_repository\org\springframework\spring-jcl\5.0.0.RELEASE\spring-jcl-5.0.0.RELEASE.jar;D:\maven_repository\org\springframework\spring-expression\5.0.0.RELEASE\spring-expression-5.0.0.RELEASE.jar;D:\maven_repository\org\aspectj\aspectjweaver\1.8.11\aspectjweaver-1.8.11.jar;D:\maven_repository\org\openpnp\opencv\3.2.0-1\opencv-3.2.0-1.jar;D:\maven_repository\junit\junit\4.12\junit-4.12.jar;D:\maven_repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\maven_repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\maven_repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;D:\maven_repository\org\apache\poi\poi\3.17\poi-3.17.jar;D:\maven_repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;D:\maven_repository\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;D:\maven_repository\org\apache\poi\ooxml-schemas\1.3\ooxml-schemas-1.3.jar;D:\maven_repository\org\apache\xmlbeans\xmlbeans\2.3.0\xmlbeans-2.3.0.jar;D:\maven_repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;D:\maven_repository\org\apache\poi\poi-ooxml\3.17\poi-ooxml-3.17.jar;D:\maven_repository\org\apache\poi\poi-ooxml-schemas\3.17\poi-ooxml-schemas-3.17.jar;D:\maven_repository\com\github\virtuald\curvesapi\1.04\curvesapi-1.04.jar;D:\maven_repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;D:\maven_repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar test.android.JunitRunner

把这段命令拷贝到CMD窗口运行:


跟在IDE里运行结果相同 

经过逐步精简,只需要运行如下命令即可:

 java  -cp D:\workspace\AppiumTest\src\main\target\classes;D:\maven_repository\junit\junit\4.12\junit-4.12.jar;D:\maven_repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar test.android.JunitRunner




原创粉丝点击