• junit测试框架简单应用


    在实际开发中,写好的代码都要经过测试。一般我们都是自己写一个main方法来调用一下测试,但最近发现用junit测试框架做起来更方便。具体请看下面的代码:

    public class Person {
    	private String name;
    	private int age;
    
    	public Person() {
    		this.name = "jack";
    		this.age = 20;
    	}
    
    	public Person(String name, int age) {
    		this.name = name;
    		this.age = age;
    	}
    
    	public void Run() {
    		System.out.println(name + ": is running");
    	}
    
    	public void eat() {
    		System.out.println(name + ": is eatting");
    	}
    
    }
    

      上面就是一个普通的类,这个就是我们用来作为测试对象的类。为了清楚,我们再写一个Main类,用来调用测试,如下:

    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    public class Main {
    	Person p = null;
    
    	@Before
    	public void before() {
    		System.out.println("before...初始化");
    		p = new Person();
    	}
    
    	@Test
    	public void testRun() {
    		p.Run();
    	}
    
    	@Test
    	public void testEat() {
    		p.eat();
    	}
    
    	@After
    	public void after() {
    		System.out.println("after...释放资源");
    		p = null;
    	}
    
    }
    

     在需要测试的方法前打个"@Test"标记,然后打开大纲视图在相应的方法上右键选择Run as -- Junit Test.如下图所示:

    如果方法没有错误Junit框架会显示绿条,否则会显示红条。

      还有一点:在上面的代码中我们用到了@before,@after。其实还有一对类似的@beforeClass,@afterClass。区别是:前一对会在每个测试方法执行前后都会执行,后者只在类加载前和类销毁前执行。执行结果对比:

    @before,@after

    @beforeClass,@afterClass

    有一点需要注意用@beforeClass,@afterClass时,需要上面的代码要作一些调整,具体如下:

    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class Main {
    	 static Person p = null;
    
    	@BeforeClass
    	public static void before() {
    		System.out.println("before...初始化");
    		p = new Person();
    	}
    
    	@Test
    	public void testRun() {
    		p.Run();
    	}
    
    	@Test
    	public void testEat() {
    		p.eat();
    	}
    
    	@AfterClass
    	public static void after() {
    		System.out.println("after...释放资源");
    		p = null;
    	}
    
    }
    

      

  • 相关阅读:
    Vue学习之监听methods、watch及computed比较小结(十一)
    Vue学习之路由vue-router传参及嵌套小结(十)
    Vue学习之路由vue-router小结(九)
    Vue学习之组件切换及父子组件小结(八)
    Vue学习之全局和私有组件小结(七)
    Vue学习之动画小结(六)
    Vue学习之vue-resource小结(五)
    Vue学习之生命周期钩子小结(四)
    Vue学习之过滤器和自定义指令小结(三)
    Vue学习之品牌案例部分代码小结(二)
  • 原文地址:https://www.cnblogs.com/byghui/p/2956783.html
Copyright © 2020-2023  润新知