- 博客(25)
- 收藏
- 关注
原创 使用Mockito进行单元测试【2】—— stub 和 高级特性
一篇中介绍了Mockito的基本信息,现在接着介绍Mockito强大的stub功能 2. Mockito使用实例5. 对连续的调用进行不同的返回 (iterator-style stubbing)还记得在实例2中说道当我们连续两次为同一个方法使用stub的时候,他只会使用最新的一次。但是在某一个方法中我们确实有很多的调用怎么办呢?mockito当然想到这一点了: wh...
2012-03-17 18:39:27 680
原创 使用Mockito进行单元测试【1】——mock and verify
1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?mock其实是一种工具的简称,他最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有mock,则我们需要把整个依赖树...
2012-03-17 17:04:08 1431
使用google-diff-match-patch比较文件
要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作,这里将展示一个简单文本比较的例子。 首先我们必须接定好文本比较后的输出。假设我们有两段文本“123456789”和“012356889”,然后我们希望输出他们的“差异”,可是这个“差异”怎么表示呢? 使用google diff的话,这个差异就是从左边的字符...
2011-08-03 10:20:29 1707
原创 java 的 MD5编码处理
当需要对一个大文件计算MD5校验和时,JDK提供的方法速度是非常快的,甚至比操作系统提供的本地工具还要快。详情可以查看这个链接 http://www.twmacinta.com/myjava/fast_md5.php 这里有一个简单的示例,来自 http://www.javalobby.org/java/forums/t84420.html:public static void mai...
2011-07-13 09:19:34 543
原创 groovy db GString 错误
下面是一段很简单的groovy显示某oracle数据库用户下所有表名的代码:import groovy.sql.*;db = Sql.newInstance( 'jdbc:oracle:thin:@localhost:1521:orcl', 'abc', 'abc', 'oracle.jdbc.driver.OracleDriver')tablename = 'ta...
2011-05-11 12:30:32 175
结合Spring使用Mybatis Generator生成的代码
本文将简要介绍怎样利用Spring 整合 Mybatis Generator自动生成的代码: 关于Mybatis Generator自动生成怎样自动生成代码,请参考这篇文章:使用Mybatis Generator自动生成Mybatis相关代码,本篇文章将接着上一篇文章的例子继续。一、准备环境1. 下载jar包:首先要在Mybatis网站中下载相应的 jar...
2010-11-24 19:49:57 145
使用Mybatis Generator自动生成Mybatis相关代码
本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码:一、构建一个环境:1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); 2. 然后注入数...
2010-11-21 21:25:50 284
原创 将 java.util.Properties 作为参数传入Spring [初级]
在一个应用中,需要将 java.util.Properties 作为参数传入 一个类中,并读出其中的一个参数 package cn.com.test.spring.properties;import java.util.Properties;import org.springframework.context.ApplicationContext;import org....
2010-11-11 13:18:40 248
Hudson java.home 设定
在学习使用Hudson进行持续集成时,总是报这样的错误:can't open C:\Program Files\Java\jdk1.5.0\lib\tzmappings. Started by user anonymousUpdating svn://127.0.0.1/test/quickstart/trunkAt revision 886no change for sv...
2010-08-20 19:56:53 247
Java properties配置资源文件处理
除了自己实现java文本处理properties配置资源文件这个坏习惯之外,使用JDK自带类库读取Properties文件的方法主要有三种 ClassLoader.getResourceAsStream ("some/pkg/resource.properties"); Class.getResourceAsStream ("/some/pkg/resource.properties"...
2010-07-28 13:21:01 166
使用Guice依赖注入实现工厂模式[5]——Guice的Scope
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Guice 怎对不同的对象生命周期,提出了Scope的概念,具体见 http://code.google.com/p/google-guice/wiki/Scopes而工厂方法根据的生成对象的不同生命周期,也导致了不同的模式...
2010-07-26 21:20:46 248
使用Guice依赖注入实现工厂模式[4]——Factory Method 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Factory Method 模式 http://www.riabook.cn/doc/designpattern/FactoryMethod.htm如果保持这个模式,需要创建一个表现依赖关系的模块类如下: impo...
2010-07-26 21:17:16 295
使用Guice依赖注入实现工厂模式[3]——Builder 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Builder 模式 http://www.riabook.cn/doc/designpattern/BuilderPattern.htm使用Guice实现的时候,可以只用bind方法来进行依赖关系的建立,但是这样对现有代码...
2010-07-26 21:12:47 267
原创 使用Guice依赖注入实现工厂模式[2]——Abstract Factory 模式
otice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Abstract Factory 模式 http://www.riabook.cn/doc/designpattern/AbstractFactory.htm使用Guice实现的时候,可以将其中的MacWidgetFactor...
2010-07-26 21:08:52 214
使用Guice依赖注入实现工厂模式[1]——Simple Factory 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。关于Guice所有的资料都可以在其项目主页[http://code.google.com/p/google-guice/]中找到,其中还包括一个精彩的演讲,由于演讲中是使用Guice取代工厂模式使用的,所以作者以一些工厂模式作为...
2010-07-26 21:00:37 248
原创 StackOverflowError on SqlMapClientBuilder.buildSqlMapClient
在使用ibatis的时候,出现了这样的错误。原因是引入了两个不同版本的gnujaxp.jar,删除其中一个即可 参考链接http://forums.sun.com/thread.jspa?threadID=609651&messageID=3341149 http://markmail.org/message/t6e2fr4lpqnz2bqq#query:+page...
2010-07-23 18:36:26 185
原创 AttributeError: 'TracError' object has no attribute 'acctmgr'
使用AccountManager 进行用户管理的时候报了这样的错误:Trac检测到一个内部错误: AttributeError: 'TracError' object has no attribute 'acctmgr' 在我的环境下出现这个问题的原因是在管理页面的 "管理—>一般—>基础设置—>描述"中出现了中文字符...
2010-07-23 18:29:54 136
trac简易安装指南
最权威的安装指南当然要参照 trac 的官方网站 http://trac.edgewall.org/wiki/TracInstall 不过那里不必要的信息比较多,这里是将安装过程简化记录一下。以下过程实际是在windows xp、python2.5 下安装Trac-0.11.7的过程,不过与其他操作系统和不同版本下安装的过程是一样的。本文的最后还附了从Trac-0.11.7 升级到...
2010-07-08 16:43:16 184
原创 oracle rac srv进程 [service] 启动
每次在使用srvctl 重启实例以后,经常会出现srv这几个进程offline的情况 -bash-3.00$ crs_stat -tName Type Target State Host ------------------------------------------------------------or...
2010-06-07 10:33:10 454
原创 iBATIS退出Apache Software Foundation
From http://www.google.com/profiles/libing.chen#buzz iBATIS退出Apache Software Foundation:Apache软件的董事会由于项目的不活跃状态而决定取消对iBATIS项目的支持,目前iBATIS项目已经转移至Google Code,并更名为mybatis http://code.google.com/p/myba...
2010-05-22 16:11:26 138
ORA-39001: invalid argument value ORA-39071: Value for EXCLUDE is badly formed.
我在使用Oracle的逻辑备份expdp的exclude特性时,总是出现以下错误:ORA-39001: invalid argument valueORA-39071: Value for EXCLUDE is badly formed.ORA-00936: missing expression 检查语法很长时间都没找到语法错误,上网查了后才发现原因在这里:http://w...
2010-04-25 19:51:14 3541
持续集成 读书笔记
《持续集成 软件质量改进和风险降低之道》所有对持续集成主题感兴趣的人都应该看看这本书,但是快速浏览一遍就行了,毕竟这个主题是一个实践性很强的主题,所以浏览一下,知道持续集成的重要性就可以了。下一步就是赶快着手实施它,而实施过程中的问题这本书是不会给你解答的,只有自己阅读文档解决。我认为整本书最重要的就是这个它的资源列表了,列在了后面供参考一. 箴言集合当一个项目经理或一名开发者说已...
2010-03-17 16:43:30 119
原创 Tape is Dead, Disk is Tape, Flash is Disk
Tape is DeadDisk is TapeFlash is DiskRAM Locality is King --Jim Gray 2006 SSD 趋势小窥 原PPT意思简言之就是硬盘很快将会被Flash Disk取代
2009-12-24 14:08:55 159
原创 测试辅助工具 hamcrest
用了JUnit有一段时间了,竟然从来没有用过assertThat。assertThat是JUnit在引入hamcrest后加入的新语句。这也难怪,JUnit的入门教程中使用的都是assertEquals,一看就懂;相对来讲assertThat的语法就比较晦涩难懂了,而且还需要学习一堆不知道什么时候才要用到的匹配器对象。本来书写简单的单元测试确实并不需要用到assertThat,但是当需要对断言...
2009-12-24 13:44:01 140
从iBATIS Hibernate 去日志依赖 看 模块化Java
前几天看了一篇文章,名为模块化Java简介。模块化的思想就是去耦合,这样在升级或者维护的时候都会方便一些,这样的道理大家都知道,但是怎样在实现中完成这一点呢。作者在“类库也是模块”这一节中介绍了“类库毫无疑问也是模块。对于类库来讲,可能没有一个单一接口与之通信,但往往却有‘public’ API(可能被用到)和‘private’ package(文档中说明了其用途)。此外,它们...
2009-12-17 17:30:18 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人