JUnit之TestCase和TestSuite详解

时间:2022-06-02 05:08:19
首先介绍下TestCase以及TestSuite.
   TestCase:字面意思,测试用例。为一个或多个方法提供测试方法。一般是一个test
   TestSuite:测试集合,即一组测试。一个test suite是把多个相关测试归入一组的快捷方式。如果自己没有定义,Junit会自动提供一个test suite ,包括TestCase中的所有测试。
  TestRunner:测试运行器。执行test suite的程序。
  现在开始编写类及使用test suite及test case来测试写好的类。
  代码的目录如图: JUnit之TestCase和TestSuite详解
  下面我按照顺序,说出我做测试的具体步骤。
  第一步,先引入junit包,网上有很多教程教你怎么下载并引入,这里就不再重复。
  第二步,新建pakeage包,注意将要进行测试的类及含测试用例的类(一般会叫做test)分成两个包。可见上面的截图。
  第三步,新建一个类,以供测试,为Calculator。其代码如下:
         JUnit之TestCase和TestSuite详解

第四步,先设计一个测试用例来测试这个类,一般命名为test???,这里我命名为TestCalculator。其代码如下:

       JUnit之TestCase和TestSuite详解
选中{TestCaluator},右键Run as ,选中junit test,就可见左侧junit显示情况。 JUnit之TestCase和TestSuite详解

可看到是红色,且testAdd上面有个小叉叉,说明结果不是我们期望的。可在TestCalculator中发现我在testAdd中的用例是50+10=70,很明显不成立,所以他出错才是对的。若将70改为60,就会说绿色的。

第五步:用test suite测试全部的测试用例,或者是我们想要测试的类,而不用一个一个执行,节省时间,为TestAll文件,代码如下:
JUnit之TestCase和TestSuite详解
你会发现里面显示有错,但是我又是按照范例去输入的,所以我苦恼了,去百度才找到答案。
Junit并没有规定你一定要使用test???()这样的方式去命名您的测试方法,如果你要提高自己的方法,为了要能够使用建构函式提供测试方法名称,你的TestCase必须提供如下的建构函式:
    public Calculator(String arg){
     super(arg);
     }
添加之后就能使用addTest了。
第六步:使用testRuner。可以一次性执行那些用例,只需添加几条代码,可与上图对比。
JUnit之TestCase和TestSuite详解
这样就可以测试你想测试的类了。