• junit4整理


    junit 快速入门

    简介

    unit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同<br>
    <br>
    断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性<br>
    hamcrest-core设置匹配集规则的框架,可用来增强junit的功能
    JUnit3:必须继承junit.framework.TestCase这个类,在方法前面必须加上test最为前缀
    JUnit4:只要加上@Test注解即可,不需要继承任何类,命名没有限制


    2.junit 使用详解

    1. 导入jar(右键Build Path --> Add Libraries --> Junit --> Junit4)
      2.新建测试类:右键需测试类所在包new --> JUnit Test Case参照自动生成的测试类模板(可删除),写自己的测试方法
      3.运行测试:测试文件右键 --> Run as JUnit Test
      4.Junit视图:
      状态条(绿色——测试成功;红色——测试失败)
      方法或类的列表
      assertEquals(xxx,xxx),断言。第一个参数是预期值。第二个参数是程序运行的值

    2要求规范

    1、         测试方法前面必须有@test修饰<br>
    2、测试方法名前面为public void,且不带参数,如public void atest(){}<br>
    3、最好测试代码单独存放一个文件夹<br>
    4、测试类的包和被测试类的包需保持一致<br>
    5、测试单元中的每个方法必须独立测试,测试方法间无依赖。<br>
    6、测试类名为 XxxTEst,测试方法名为testXxx

    3.错误

    当测试结果不是绿色的时候。failure一般是单元测试使用的断言方法判断失败引起的,表明测试点发现了问题,即输出和预期不一样。error则是代码异常,比如测试代码本身错了,或者被测试代码中有bug。
    这种测试只能证明你的逻辑实现没错,不代表你的逻辑是对的。

    3.junit的深入使用  

         1.测试流程

    beforeClass
    before
    test1
    after
    before
    test2
    after
    afterClass

    1、@BeforClass在所有方法调用前执行,属于静态方法,在测试类被加载之后就会运行,只存在一份实例,即只在最开始运行一次,适合用来加载配置文件。
    2、@AfterClass在所有方法执行完才执行一次,适合用来做对资源的清理,内存的释放之类。
    3、@Before和@After在每个测试方法前/后执行一次。

    2.常用注解

    @Test(expected=ArithmeticException.class){...}预料的结果为报错。
    @Test(expected=XX.class)
    @Test(timeout=xx(毫秒))无限运行时可强制退出,亦可作性能测试的标准。
    @Ignore 忽略此方法
    @Runwith 更改测试运行器

    3.测试套件

    1.测试套件就是组织测试类一起运行的
    2.写一个作为测试套件的入口类,这个类里不包含其他的方法。
    3.更改测试运行器Suite.class.
    4.将要测试的类作为数组传入到Suite.SuiteClasses({})

    4.参数

    1.更改默认的测试运行器为RunWith(Parameterized.class)
    2.声明变量存放预期值和结果值
    3.声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
    例如:
    public static Collection<Object[]>t(){
    return Arrays.asList(new Object[][]{{3,2,1}{4,2,2}});
    }
    4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值(预期值、输入参数值等)

    Spring与Hibernate的整合测试

    1,添加spring,hibernate,MySQL等jar包
    2,添加spring配置文件,hibernate配置文件
    3,@BeforeClass获得spring的配置文件ClassPathXmlApplicationContext("配置文件")
    4,测试通过getBean获得spring管理的bean是否成功。

    测试总结

    了解一个东西基本是这样的
    1:有什么——知道有这么个东西
    2:是什么——知道这个东西什么东东
    3:做什么——知道这个东西能做什么事情
    5:怎么做——知道这个东西怎么用
    6:为什么——知道这个东西怎么设计,为什么是这个东西
    7:下一个——清楚的了解一个东西后,要么再深入,要么换一个研究的对象,一个是纵向探索,一个是横向扩展,听视屏的讲解基本上能到大第5层,如果想更上一层楼第6、7层是必须要走的,这一层,就需要自己独自的探索了,去哪里哪?去官网?去和这个东西的创造者、发扬者去沟通和交流?去大自然中?去自己的想像之中?

  • 相关阅读:
    简单字典操作
    字符串操作
    2017年10月7日
    循环列表练习
    Zabbix4.0系统告警"Zabbix agent on Zabbix server is unreachable for 5 minutes"
    Zabbix4.0系统告警“Zabbix server is not running”
    FreeRADIUS使用了在Cisco IOS配置示例的管理访问
    Cisco AAA Configuration
    使用工具Csvde导出域中所有用户信息
    McAfee Agent卸载方法
  • 原文地址:https://www.cnblogs.com/thehugo/p/5599797.html
Copyright © 2020-2023  润新知