如何进行Junt4动态代码测试
本篇文章为大家展示了如何进行Junt4动态代码测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
诸城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
Junt4 动态代码测试 方便与java在线教程编写
Listener.java
import java.util.HashMap; import org.junit.runner.Description; import org.junit.runner.Result; import org.junit.runner.notification.Failure; import org.junit.runner.notification.RunListener; public class Listener extends RunListener { public static long begin_mill; public static long end_mill; public static long test_begin_mill; public static long test_end_mill; public static HashMaptest_map; @Override public void testAssumptionFailure(Failure failure) { // TODO Auto-generated method stub super.testAssumptionFailure(failure); } @Override public void testFailure(Failure failure) throws Exception { // TODO Auto-generated method stub super.testFailure(failure); Description description = failure.getDescription(); TestDescription text_doc = description.getAnnotation(TestDescription.class); String name = description.getMethodName(); System.out.println(this); test_map.put(name, false); // System.out.println("test " + name + "( " + text_doc.value() + " )" +"is failure"); } @Override public void testFinished(Description description) throws Exception { // TODO Auto-generated method stub super.testFinished(description); String name = description.getMethodName(); TestDescription text_doc = description.getAnnotation(TestDescription.class); Boolean value = test_map.get(name); if(value == null){ test_map.put(name, true); } System.out.println(this); // System.out.println("test " + name + "( " + text_doc.value() + " )" +"is finished"); } @Override public void testIgnored(Description description) throws Exception { // TODO Auto-generated method stub super.testIgnored(description); } @Override public void testRunFinished(Result result) throws Exception { // TODO Auto-generated method stub super.testRunFinished(result); // System.out.println("all time " + (end_mill - begin_mill)); } @Override public void testRunStarted(Description description) throws Exception { // TODO Auto-generated method stub super.testRunStarted(description); begin_mill = System.currentTimeMillis(); test_map = new HashMap (); } @Override public void testStarted(Description description) throws Exception { // TODO Auto-generated method stub super.testStarted(description); String name = description.getMethodName(); // System.out.println("test " + name + "is started"); } }
TestDescription.java
import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; @Target({METHOD}) @Retention(RUNTIME) public @interface TestDescription { String value(); }
rule:
Practice.java
public class Practice { public int sum(int a,int b){ return a + b; } } PracticeTest.java import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class PracticeTest { @Test @TestDescription("sum(1, 2) -> 3") public void test1() { Practice a = new Practice(); Assert.assertEquals(3,a.sum(1, 2)); } @Test @TestDescription("sum(1, 3) -> 4") public void test2() { Practice a = new Practice(); Assert.assertEquals(4,a.sum(1, 3)); } @Test @TestDescription("sum(2, 2) -> 4") public void test3() { Practice a = new Practice(); Assert.assertEquals(4,a.sum(2, 2)); } @Test @TestDescription("sum(2, 3) -> 4") public void test4() { Practice a = new Practice(); Assert.assertEquals(4,a.sum(2, 3)); } }
Main.java
import java.util.Iterator; import java.util.Set; import org.junit.runner.JUnitCore; import org.junit.runner.Result; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JUnitCore core = new org.junit.runner.JUnitCore(); core.addListener(new Listener()); Result result = core.run(PracticeTest.class); Setset = Listener.test_map.keySet(); Iterator it = set.iterator(); while(it.hasNext()){ String name = it.next(); boolean is_success = Listener.test_map.get(name); String is_success_str = is_success ? "success" : "failure"; System.out.println("test " + name + " : " + is_success_str ); } System.out.println(result.wasSuccessful()); } }
上述内容就是如何进行Junt4动态代码测试,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
文章名称:如何进行Junt4动态代码测试
本文地址:http://ybzwz.com/article/iedgio.html