java测试

第一步:导入MAVEN的四个依赖包

                   Junit:

     

      <dependency>

          <groupId>junitgroupId>

          <artifactId>junitartifactId>

          <version>4.12version>

          <scope>testscope>

      dependency>

 

 

spring-test    :

      <dependency>

          <groupId>org.springframeworkgroupId>

          <artifactId>spring-testartifactId>

          <version>4.3.9.RELEASEversion>

          <scope>testscope>

      dependency>

 

hamcrest-all   :

      <dependency>

          <groupId>org.hamcrestgroupId>

          <artifactId>hamcrest-allartifactId>

          <version>1.3version>

          <scope>testscope>

      dependency>

 

 

 Mockito:

      <dependency>

          <groupId>org.mockitogroupId>

          <artifactId>mockito-allartifactId>

          <version>1.10.19version>

          <scope>testscope>

      dependency>

 


allOf greaterThanOrEqualTo(1) lessThanOrEqualTo(100)需要手动导入包



Num 得到值在1-100范围类         greaterThanOrEqualTo(1)表示大于等于1

                                                            lessThanOrEqualTo(100)表示小于等于100

 

 

 

测试业务层:

@RunWith:这个是指定使用的单元测试执行类,这里就指定的是SpringJUnit4ClassRunner.class;

@ContextConfiguration:这个指定spring配置文件所在的路径,可以同时指定多个文件;

比如:


代码

 

 

测试表示层:

                  

 

测试集:

         测试集(Test-Suite) - 把多个相关的测试例组织到一起


Unit Test -JUnit

 目标 - 测试方法

 原理 - 黑盒测试 - 不知道方法的实现细节用实际输出和预期值的比较来判定方法实现是否正确

 Assert

                   - assertEquals / -assertNotEquals

                   - assertTrue / assertFalse

        -assertNull / assertNotNull

                   - assertSame / assertNotSame

                   - assertThat

                            - Matcher

                            - hamcrest --->Matchers

 JUnit 4

                   @Test

                            timeout          ---测试的超时时间

                            expected --- 测试期望发生的异常

 Spring TestFramework

                   @RunWith(SpringJUnit4ClassRunner.class)

                   @ContextConfiguration

                            - classes

                            - locations

                   @Autowired

                   模拟MVC请求

                   MockMvcBuilders.standaloneSetup(controller)

                   MockMvc.perform(...)

                   MockMvcRequestBuilders.get(url)

                            .andExpect(MockMvcResultMatchers.view().name(...))

                            .andExpect(MockMvcResultMatchers.model().attributeExists(...))

                   将暂时还没有的对象模拟出来

        Mockito

                            mock(Class)

                            when(methodCall).thenReturn(...)

 

 

 

throwable分为两类Error和Exception

 

运行时异常 和throw newAssertionError()不能恢复

         运行时异常一般是代码书写错误

Error:       

         1..assert:断言  辅助调试程序  不满足assert后面的条件

直接报错

         2..OutOfMemoryError:栈空间耗完了报的异常

         3..StackOverFlowError:堆空间耗完

Exception:

         RuntiomeException:运行时异常

                   1..NumberFormatException 数字格式异常

                   2..NullPointerException空指针异常

                   3..IndexOutOfBoundsException 数组下标越界

                   4..ClassCastException  类型转换异常

                   5..ArithmeticException  出现异常的运算条件时

                   6..NegativeArrayException 数组负下标异常

         受检异常:

                   IOException 读写数据的时候

                   SqlException 执行Sql语句的时候

                   ClassotFoundException 加载类的时候 类不存在

 

你可能感兴趣的:(java测试)