zoukankan      html  css  js  c++  java
  • 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;
    	}
    
    }
    

      

  • 相关阅读:
    可移动的按钮
    .NET及JAVA 中如何使用代码启动程序
    SQL一对多特殊查询,取唯一一条
    jquery,字符串转json对象,json对象转字符串
    jQuery的ajax()、post()方法提交数组,参数[] 问题
    Sql Server中实现Mysql中的group_concat函数效果
    SQL:REGEXP
    sql:CallableStatement执行存储过程
    js去除前后空格
    jsp中常用操作字符串的el表达式
  • 原文地址:https://www.cnblogs.com/byghui/p/2956783.html
Copyright © 2011-2022 走看看