zoukankan      html  css  js  c++  java
  • 单元测试,我在公司Web团队的分享


    一、单元测试的意义

    1.质量

    2.效率

    (短期和长远都值得)
    写单元测试代码,总的来说其实是更节省开发时间,更保证质量的。Controller、Service、Dao其实都可以进行测试。
     通过启动 Tomcat,打开web系统,登录,点击,输入 等进行功能测试,很费时间。
    单单是Tomcat启动1次,时间通常在30s+。

    对于未来重构,也方便测试。


    问题:浪费时间??

    二、单元测试的标准流程 

    1.构造数据:对于add、remove、Delete、update 容易构造。 list search page难构造?
    2.执行操作: add、remove等
    3.断言: assert
    4.删除数据:手动delete 或 回滚

    如何删除数据?回滚?

    继承AbstractTransactionalSpringContextTests?
    比较详尽的帖子:http://tieba.baidu.com/p/2355323012

    注意~扩展SPRING的AbstractTransactionalJUnit4SpringContextTests的测试单元~为了保持数据的清洁会自动回滚。
     
    所以测试的数据无法真正插入数据库(例如你用spring配置的entityManager或者hibernatesession都无法在测试单元中真正插入数据)。
     
    解决方法~如果不需要测试回滚,在测试单元上加入注释@Rollback(false)~


    待测试??

    三、单元测试的方法(Spring+Junit)

    1.基于注解

    2.基于配置

    (MockMVC,Spring3.2.3-test新增)

  • 相关阅读:
    孔曰成仁,孟曰取义
    mysql索引&实现原理
    MySQL存储引擎
    HashMap原理
    反射
    list对象属性排序
    mysql数据表操作&库操作
    mysql字段类型
    java线程池初步理解
    java四种内部类
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463669.html
Copyright © 2011-2022 走看看