在开发项目时,难免要用到单元测试。


首先讲一下一些基本概念


      1) @Test


            @是注解的意思,@Test是JUnit测试的基础,它表示该注解下的方法是JUnit测试的时候运行的。


      2)导入包问题


                要使用junit单元测试要先导入两个包:


junit4-4.8.2.jar) ,然后import org.junit.Test;


hamcrest-core-1.3.jar 


               要进行JUnit测试必须有这两个包,这两个jar资源网上都有


     3)报错问题


               1)@Test标红线时说明你没有导入junit.jar


               2)当报错 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing时


                    说明你没有导入hamcrest-core-1.3.jar


junit4-4.8.2.jar和hamcrest-core-1.3.jar 。


testbean需要继承 @test需要加的jar_测试类


接下来讲解具体的操作



   1)先写核心类和主方法,该类写作src包里,代码附在文章的最后面的代码区;



   2)然后再写测试类,一般重新建一个testSrc包(与src包同级),然后在该testSrc下面建立测试类;



   3)运行测试类中的测试方法,查看输出结果。



测试类中要导入Test类:



import org.jnuit.Test;



同时要对主方法进行测试的方法前要加上@Test注解,否则无法进行单元测试



1)先写核心类和主方法,该类写作src包里,代码附在文章的最后面的代码区



   src中的代码在不同项目也不同,就不说了。在后面附上的示例上只是一条输出语句



2)然后再写测试类,一般重新建一个testSrc包(与src包同级),然后在该testSrc下面建立测试类



建立测试类的主要流程步骤



再要建立测试类的包图表上点右键(在我的项目里就是testSrc.test)-->点击new-->Other,然后输入case,当看到JUnit Test Case时,选中-->输入包名-->对于Class under test-->在弹出的窗口输入要测试的类,在这里就是main包里面的unitMain.java-->点击ok,选择next-->在弹出的窗口选中要检测的方法um()-->最后点击finish--->写测试类UTest的逻辑



输入case ,当看到JUnit Test Case时,选中



testbean需要继承 @test需要加的jar_单元测试_02



           对于Class under test这一栏选择Browse



testbean需要继承 @test需要加的jar_Test_03


在弹出的窗口输入要测试的类,在这里就是main包里面的unitMain.java



testbean需要继承 @test需要加的jar_测试类_04


在弹出的窗口选中要检测的方法um()


testbean需要继承 @test需要加的jar_单元测试_05


写测试类UTest的逻辑,具体的代码放到了文章最后


testbean需要继承 @test需要加的jar_单元测试_06


3)运行测试类中的测试方法,查看输出结果。



点击选中UTest.java-->右键选中方法testUm()--->选中Run As-->选中JUnit Test


testbean需要继承 @test需要加的jar_Test_07


当运行没有错误时可以看到JUnit Test的图表是一个绿色的对号,否则是一个红色的叉号


testbean需要继承 @test需要加的jar_junit_08


输出结果



testbean需要继承 @test需要加的jar_Test_09




源代码:




src中unitMain.java的源代码


package main;

public class unitMain {
public void um(){
	//要进行测试的主方法
	System.out.println("unit test");
	
}
}


testSrc中UTest.java的源代码


package test;

import main.unitMain;
import org.junit.Test;
public class UTest {
   unitMain um=new unitMain();
    @Test
    public void testUm()   {
        um.um();
        System.out.println("test um");
    }
}