1-1:在myeclipse中使用Junit单元测试

进入myeclipse,随便创建一个项目:如图

右击SuanShu.java,选择new》Junit text cast(如果在new中找不到,就直接new》other中搜索),跳出如下框:

点击finish(我这里的finish是黑色,原因是我之前就建好了)。

在生成的SuanShuTest测试类中写入:

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Test;

public class SuanShuTest {

	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		Assert.assertEquals(2, suanshu.add(1, 1));
	}

}

在SuanShu类的代码为:

package cn.itcast.jisuan;

public class SuanShu {
public int add(int a,int b){
	int c =a+b;
	return c;
}
}

在“Assert.assertEquals(2, suanshu.add(1, 1));”这段代码的意思就是判定结果,判定输出值和期望值是否一致,如果一致,就表明代码没有问题,如果不一致,就说明代码有问题或者代码的逻辑结构不是我们所需要的。在这里“2”表示的是期望值,”suanshu.add(1, 1)“则是输出值。

如果不用判断结果,可以直接输出:

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Test;

public class SuanShuTest {

	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		//Assert.assertEquals(2, suanshu.add(1, 1));
		System.out.print(suanshu.add(1, 1));
	}

}

测试:右击SuanShuTest ,选择Run Ass>>Junit Text就可进行单元测试。

图下图:

解析如上图所示。

在我们进行测试的时候,有时测试代码重复性过高,在测试的时候过于繁琐,比如多次请求输入输出流以及释放资源。这时候,junit提供两个注解来帮我们处理这些繁琐的代码,分别是@before和@after。@before是在单元测试之前先执行的代码块;@after是在单元测试之后执行的代码,主要用于资源的释放,而且在@Text单元测试代码块出错的时候,@after注解的代码块也会执行。

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class SuanShuTest {
	 @Before
	    public void init(){
	        System.out.println("init...");
	    }

	    /**
	     * 释放资源方法:
	     *  在所有测试方法执行完后,都会自动执行该方法
	     */
	    @After
	    public void close(){
	        System.out.println("close...");
	    }
	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		System.out.print(suanshu.add(1, 1));
		Assert.assertEquals(3, suanshu.add(1, 1));
		
	}

}

通过学习Junit代码测试模块,我们可以省去测试带来的麻烦,使我们的更加高效的编写代码以及测试代码。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章