junit

Junit4

 

@Test

@RunWith(Parameterized.class)

@BeforeClass

@Parameters

@SuppressWarnings

一、基本概念

测试方法:@Test注解一些函数

测试类:包含一个或多个测试方法的一个**Test.java文件

测试集:是一个suite,可能包含多个测试类

测试运行器:决定用什么方法执行测试集、测试类、测试方法

 

二、Junit4常见的参数

  1. @BeforeClass //类创建前必须为静态方法

比如建立连接、打开数据库、文件,只运行一次

注意:必须是public static void,即公开、静态、无返回。这个方法只会运行一次

  1. @Before

不止运行一次,它会在每个用例运行之前都运行一次。主要用于一些独立于用例之间的准备工作

比如两个用例都需要读取数据库里的用户A信息,但第一个用例会删除这个用户A,而第二个用例需要修改用户A。

注意:必须是public void,不能为static。不止运行一次,根据用例数而定。

  1. @Test

测试方法

4.@After

同Before 对应

5.@AfterClass

同BeforeClass 对应

  6.@Runwith

   放在测试类名之前,用例确定这个类如何运行,也可以不标注,会使用默认的运行器

 A>@RunWith(Parameterized.clss)

参数运行器,配合@Parameters使用junit参数化功能

B> @RunWith(Suite.class)

@SuiteClasses({ATest.class,BTest.class,CTest.class})

测试集运行器配合使用测试集功能

注意:ATest、BTest、CTest为测试类

 

C> @RunWith(JUnit4.class)

Junit4默认运行器

D> @RunWith(JUnit38ClassRunner.class)

用于兼容junit3.8的运行器

E>其他运行器具备不同的功能

7.@Parameters

用于使用参数化功能

8.@SuppressWarnings("unchecked")

使用generics时忽略没有指定相应的类型

忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息

 

三、断言assert的使用

 

  1. assertEquals(a,b)判断预期结果和实际结果是否一致

举例:

    int i=z.add(2,4);

   assertEquals(5,i);

   预期实际和实际结果不一致时输出:

      

 

  1. assertTrue(String message,boolean condition),判断预期结果和实际结果是否一致

举例:(用TestCase必须导入org.junit.Test)

           import org.junit.Test;

         int i=z.add(2,4);

         String msg="期望结果:"+5+"实际结果:"+i;

    TestCase.assertTrue(msg,5==i);

   (或 assertTrue(msg,5==i);)

    当预期结果和实际结果不一致时:

 

posted @ 2019-03-26 09:04  期待me  阅读(110)  评论(0)    收藏  举报