持续集成之路——使用SpringTestDbunit管理数据集的一个问题

在进行数据访问的单元测试,一般都会新增数据记录的情况,那么在设置数据集一般会是: 然后在测试方法中,通过验证新增的记录数或者新增记录的内容,确保被测试方法正确执行: @Test @DatabaseSetup("user/UserService-addUser-dataset.xml") public void testAddUser(){ User us...
阅读(3032) 评论(0)

持续集成之路 —— Mock对象引起的测试失败

今天遇到了一个很奇怪的问题,纠结了好久。在和同事念叨这个问题时,突然想到了问题所在。        问题现象: 在一个Service的单元测试类中有八个测试用例,单独运行时都可以正常通过。可是一旦一起运行时,总是会有固定的两个测试失败。        问题原因:有一个测试用例mock了Service依赖的一个Dao对象,之后的用例再使用这个Dao对象时,就使用了mock,而不是Spring初始化的...
阅读(3300) 评论(0)

持续集成之路——服务层的单元测试

在完成了数据访问层的单元之后,接下来看如何编写服务层(Service)的单元测试。服务层应该是整个系统中得重中之重,严密的业务逻辑设计保证了系统稳定运行,所以这一层的单元测试也应该占很大比重。虽然一般情况下单元测试应该尽量通过mock剥离依赖,但是由于在当前的项目中数据访问层使用spring-data框架,并没有包含太多的逻辑,因此我就把服务层和数据访问层放在做了一个伪单元测试。        一...
阅读(4146) 评论(1)

持续集成之路——数据访问层单元测试遇到的问题

在编写数据访问层的单元测试时,遇到不少问题,有些问题可以很容易Google到解决方法,而有些只能自己研究解决。这里分享几个典型的问题以及解决方法。先交代一下用到的测试框架 Spring Test + SpringTestDbUnit + DbUnit。一、先说一个低级的问题。Spring通过标签提供对内存数据的支持,形如:可是在启动时,却总是提示错误:Caused by: org.xml.sax....
阅读(12900) 评论(0)

持续集成之路——数据访问层的单元测试(续)

在上一篇中,完成了对测试用数据源的配置。下面继续构建可运行的测试。        三、使用DBUnit管理数据        测试的维护一直是我比较头疼的问题,期望可以有一个比较易于维护和可复用的方法来管理这些数据。在没有更好的方法之前,暂时选用DBUnit。(反思:其实我一直在为没有发生的事情担心,使得事情根本没有进展。从已存在的、最简单的地方入手,才是正确的处理方式。)        在pom...
阅读(3118) 评论(0)

持续集成之路——数据访问层的单元测试

作为保证项目质量的重要工具持续集成一直是一个热议的话题,也被业界积极采用。我也试图记录自己在尝试过程中遇到的点点滴滴。单元测试作为持续集成的基石,是绝对不可或缺的部分。如何写好单元测试?如何让代码变得具有可测试性?如何维护单元测试?这些问题萦绕心头已久,现在从数据访问层入手,逐步深入,记录所思所为。...
阅读(9918) 评论(7)

关于建立公司内部交流分享活动的一点尝试

如今的世界变化太多,而一个人的精力和时间总是有限,可是如何快速地提升自己或者整个团队水平是一个亟待解决的问题。在公司内部开展定期地交流活动,一直是我十分想做的事情,最近在公司的大力支持下的终于得以实现。      一、为什么要开展交流活动?        1. 开拓视野,分享经验。        作为技术人员,我们更倾向于自己解决问题,很多时候我们在一个问题上纠缠太久,而旁边的同事一句话,却让我们...
阅读(8639) 评论(1)

Redmine、Apache、Git集成遇到的重重困难

Remine、Apache和Git这个三个软件,无论哪一个,单独说来安装、配置和使用都是非常方便的,可是想把它们结合起来,却不是那么容易的事情。这里就把这一周来遇到的种种问题记录下来。        一、Redmine + Apache的fcgi配置         参考文章:        http://www.redmine.org/projects/redmine/wiki/RedmineI...
阅读(11343) 评论(2)

简单方便Git的艰难第一步

现在Git已经是铺天盖地了,如果再不用尝试真的是要out了。于是决定在新的项目中应用Git。奋战了一个下午加另外2个小时,终于搞定。发现Git真的真的是很简单,超出我的意料。可是既然简单,为什么又是艰难的呢?因为从之前CVS、SVN的思路和使用习惯转过来的确有点费劲。        问题一:Git的服务器版本是什么样的?如何安装?        SVN是有一个svnserver,可以通过yum或者...
阅读(9387) 评论(3)

如何有效地帮助新人融入项目中

今天看了《布道之道》,里面有些提到的很多经验的确很实用。不仅又想起了,在刚刚参加工作时,在第一家公司里就进行了如何提高沟通效率的培训。当时很多都以自身的经历,说明了沟通的重要性,也分享了一些沟通技巧。前几天,有新同事加入到项目中,来参与其中一个日志分析软件模块的开发。这次,我并没有亲自给他讲解,而是让之前参与到这个项目的另外一个同事给他讲解。我只是在一旁静静地听他们之间的交谈,同时我也在思考如何可...
阅读(9360) 评论(39)

关于如何衡量项目的进度一点思考

在最近的一个项目中,每次的周总结会议上对项目进度的衡量都是最重要的一个环节,也是花时间最长的一个环节。每次大家都会说:我完成了50%,我完成了80%,我完成了90%…… 但是我心中一直有一个疑问:这个百分比对项目真正进度的衡量有多大意义呢?在当前的这个项目中,我看到的现象就是,大家都说自己的功能完成了多少多少,可是测试人员却没有可以测试的功能,更别说达到上线标准的东西了。那么问题又出在什么地方呢?...
阅读(2502) 评论(1)

最近使用Eclipse遇到的几个问题

自从用了Eclipse以后就再也没有更换过IDE,虽然期间也尝试过NetBeans、Idea等,但是总感觉用起来不顺手,快捷键也找不到,最后还是回归了Eclipse。不过,Eclipse偶尔也会耍耍小脾气,出现一些莫名其妙的问题。下面三个就是这一段时间经常碰到的。         1、在Eclipse中Run On Server时会提示ClassNotFoundException。...
阅读(6826) 评论(0)

CentOS上升级Subversion

这些天被不同分支间的合并折磨的够呛,最后才发现原来从1.5开始SVN就支持合并跟踪了,不过服务器上自动安装的1.4,于是就升级到了最新版本1.6.11....
阅读(3152) 评论(0)

持续集成之路——搭建Maven私服

搭建Maven私服,可以将外部的第三方和公司内部的开发包统一管理,便于更新。...
阅读(32384) 评论(13)

持续集成之路——Maven

项目的构建是CI中不可缺少的一个环节,Maven是比较不错的一个用来管理依赖和进行项目自动构建的工具。...
阅读(2553) 评论(2)
21条 共2页1 2 下一页 尾页
    个人资料
    • 访问:1129959次
    • 积分:12346
    • 等级:
    • 排名:第1283名
    • 原创:174篇
    • 转载:6篇
    • 译文:34篇
    • 评论:398条
    博客专栏
    最新评论
    独乐乐不如众乐乐