说说junit测试技术,其实这个技术大部分人都听过,只是有些人没用过而已,这东西说起来也很容易,但是确实软件开发过程中必不可少的一门技术,对于一些不规范的小公司也许产品的发布不经过测试,但是对于大型的软件开发的时候,这技术往往是必不可少的,因为任何一个小地方出错都可能是一个很难发现的,但是junit技术这个单元测试技术让我们能边开发边测试,使我们的终产品出错的几率达到少。
我讲的例子,开发环境是myeclipse6.0,在这个开发环境中其实已经集成了我们所要的JUnit测试相关的类,只要我们在环境中设置即可,如下图所示,当我们建立一个java工程之后点击工程属性即按下图所示设置好即可:
此时我们的工程把这些Junit的测试相关的类都导进来了,这时可以开始我们的测试历程了。
我们通常是在src源文件包下写我们的源码,为了保证我们的测试类既能与我们的工程分开又能使我们的项目的测试类编译之后能够与我们的要进行测试的类的编译文件在同一个包下,我们可以在工程中新建一个test源包,但是我们要保证测试类和我们的要测试的类有一样的包路径,例如我们的测试类的相对路径为 org.rjb.Calculate,那么我们在test源包下的测试类的路径为org.rjb.CalculateTest,这样一来他们编译之后在同一个包路径下了,不信你可以试试看噢。
下面我先讲讲一些规则:
测试类名词我们可以定义为被测试类类名+Test来命名(不成文规定);
测试类必须继承自junit.framework.TestCase,它有几个这里需要声明的方法:
1.public void setUp():这个方法是在每个测试方法开始前要调用的方法,也是说有几个方法要测试,那要进行几次 调用,在JUnit3.8中只能这样,但是在JUnit4.0中却可以在整个测试过程中只调用一次。
2.public void tearDown():这个方法和上面的方法相对了,也是在每个测试方法测试之后调用,调用次数完全和上面的方法相同。
测试类中的方法命名规则为test+被测试方法名,当然要被测试方法名要大写了。也是说测试方法必须是test开头的,可见找到相应的方法是通过反射来找到的。
考虑到我们能够一次性把所有的测试类都执行,我们可以定义一个测试类,只要继承junit.framework.TestSuite可以了,此时我们必须有下面方法public static Test suite(),究竟如何使用请看下面的代码展示。