![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Test
iteye_14294
这个作者很懒,什么都没留下…
展开
-
EasyMock最佳实践
推荐easymock入门贴:[url=http://www.iteye.com/topic/310294]窥探EasyMock(1)基础使用篇 [/url][url=http://www.iteye.com/topic/310313]窥探EasyMock(2)进阶使用篇[/url]关于EasyMock常见的几个问题, 这里([url]http://ozgwei.blogspot.com...2008-12-20 20:43:31 · 250 阅读 · 0 评论 -
修改dbunit的几个bug兼对dbunit进行扩展
最近在对unitils进行扩展, 主要是数据库这块儿的内容, 对, 就是dbunit, dbunit给我的感觉是扩展性太差了, 很多类的构造函数采用包可见, 抽象类的抽象方法包可见, 根本没办法继承复写某些方法, 可定制性和unitils比起来也差的不是一点点, 根本就是一个封闭的系统. 导致很多代码不得不大段的拷贝代码来满足自身的需要.我这里采用了excel格式来构造测试数据, 目前发现...2009-12-08 20:51:17 · 220 阅读 · 0 评论 -
使用代码方式运行指定单元测试类及方法
记一下, 备忘[code="java"] private void runTest(String className, String... methodNames) throws Exception { assert StringUtils.isNotBlank(className); Class testClass = Class.forName...2009-12-17 08:57:27 · 173 阅读 · 0 评论 -
结合使用Dummy, InjectTo, PartialMock的单元测试
结合使用Dummy, InjectTo, PartialMock的单元测试, 备忘[code="java"]@RunWith(UnitilsJUnit4TestClassRunner.class)public class CheckerTest { private PartialMock ManagerMock; private PartialMock daoMock;...2009-12-24 21:21:21 · 214 阅读 · 0 评论 -
《单元测试之道Java版——使用JUnit》读书笔记
[align=center][img]http://images.china-pub.com/ebook20001-25000/22962/shupi.jpg[/img][/align]这个可能是到目前为止我看到的最薄的技术书了.一本专门讲用junit做测试的书籍, 但是又不是纯技术的书籍, 里面没有介绍junit如何实现, 也没有大篇幅的介绍如何使用junit, 或者介绍junit的一些高级...原创 2009-06-09 23:06:12 · 396 阅读 · 0 评论 -
JUnit 4新特性笔记
测试任何可能的错误。单元测试不是用来证明您是对的,而是为了证明您没有错。Before/AfterClass:使用 public static void 修饰,而且不能带有任何参数, 类级别的 Fixture 仅会在测试类中所有测试方法执行之前执行初始化,并在全部测试方法测试完毕之后执行注销方法注解 org.junit.Test 中的两个非常有用的参数:expected 和 time...原创 2008-12-11 08:47:04 · 79 阅读 · 0 评论 -
对多线程进行测试
在junit下, 很难对多线程的代码进行测试, 因此需要借助其他的方式, 比如Executor service框架. 最近要对一个监控类的输出情况写一个测试, 简单的跑一下输出格式是否跟预期一致.我这里借助了ThreadPoolExecutor+CompletionService. 即在结束前, 需要从线程池中拿到最后的执行结果. 我觉得多线程测试模式都应该是类似的, 备忘一下[code=...原创 2011-07-02 15:31:38 · 307 阅读 · 0 评论 -
补习一下EasyMock
最近有时间, 再温习一下easymock相关的东东http://shlteater.iteye.com/blog/394191这篇blog对easymock原理讲解的比较详细createControl() 用来创建一个生成mock对象的容器, 然后在replay(), verfiy的时候不用指定那些mock对象createStrictMock 创建严格依照执行顺序moc...2010-04-28 09:18:33 · 135 阅读 · 0 评论 -
使用Guava Supplier Mock Datetime
通过下面的例子了解Guava Supplier的用法.在做单元测试的时候, 我们可能需要Mock掉一些对外部资源的依赖. 比如时间, 随机数, 系统文件访问.下面是将要测试的代码, 将当前时间输出:[code="java"]@Controller@RequestMapping(value = "/time")@VisibleForTestingclass TimeCon...原创 2012-02-04 23:35:08 · 283 阅读 · 0 评论 -
让Unitils实现excel下的多数据源支持
说明:这里的多数据源需要利用spring中配置的多个DataSource.而且仅针对oracle数据库. 在oracle有一个schema的概念, 一个datasource下可能有多个schema, 而一个schema一般会跟一组用户名密码绑定, 这里我们采用用户名作为schema名称. 为了实现对多schema的支持, unitils提供了一个[b]MultiSchemaXmlDataSet...2009-12-03 21:02:28 · 169 阅读 · 0 评论 -
unitils中spring module初始化源码解读
spring module的初始化还算简单, 但是熟悉里面的原理有利于搭建一个项目的测试脚手架.spring module 通过[b]ApplicationContextManager[/b]来管理所有测试的ctx而获取指定测试类的ctx, 使用了下面的方法:[code="java"]org.unitils.core.util.AnnotatedInstanceManager....2009-12-03 20:32:11 · 88 阅读 · 0 评论 -
用于生成mock模型对象Setter代码工具类
最近写的一个工具类, 用来生成mock的javabean对象, 比如将一条模拟数据直接生成javabean的setter代码[code="java"]public class MockBuilder extends ToStringBuilder { private String objectName; /** 是否包含日期时间字段 */ private boolean inclu...原创 2009-01-12 10:35:41 · 278 阅读 · 0 评论 -
最近单元测试中写的一个Assert
该类提供的assert方法主要针对数据库的单元测试中, 使用Spring JdbcTemplate得到一个记录集, 然后与实际操作记录进行比对验证[code="java"]public class MyAssert { /** * @param expected * @param actual * @param propertyNames */ publ...2009-01-15 22:03:25 · 157 阅读 · 0 评论 -
junit4源码浅析
junit3和junit4是两个非常不同的版本, 不能简单的理解为是后者是前者的一个升级, 二者的内部实现有很大的不同。 这里只针对junit4以后的版本。所有的testcase都是在Runner下执行的, 可以将Runner理解为junit运行的容器, 默认情况下junit会使用JUnit4ClassRunner作为所有testcase的执行容器。 如果要定制自己的junit, 则可以实现自...2009-02-05 21:12:37 · 279 阅读 · 0 评论 -
打造自己的单元测试容器——Junit Runner扩展举例
最近对java的annotation和junit的Runner深入学习了一把, 下面是在实际项目中结合二者的一个实战。应用场景是这样的: 我有一个测试工具类(DataGenerator)用来帮助初始化测试数据和清除测试数据。该工具类需要两个配置文件, 一个是数据源的配置文件, 一个是用来初始化数据的excel数据表, 我希望通过借助java的annotation和自定义Runner来实现这个功...2009-02-05 23:40:09 · 325 阅读 · 0 评论 -
JunitRunner定制之模仿@Before对属性进行初始化
在测试的过程中, 会用到一些模拟数据, 希望在每次调用测试方法之间对这些数据进行一下初始化,类似@Before注解的方法, 在调用测试方法之间被调用一次, 我希望通过注解来做这件事儿.于是有了下面的做法:通过阅读JUnit4ClassRunner源代码, 发现在createTest()方法中做这件事比较合适:[code="java"]@Override protected Obje...2009-02-12 21:54:31 · 590 阅读 · 0 评论 -
使用classloader自定义测试套件TestSuite
junit自带了一个suite用来将多个test case放在一起执行, 但是有时候test case太多, 或者每次只需要对特定的几个test case进行测试, 这样写就比较繁琐, 于是希望通过一种带有通配符的表达式来指定需要测试的某些符合条件的test case, 于是根据这个需求, 实现了一个自己的PathSuite, 不过目前还比较简单, 关键是表达式的解析实现比较难搞, 不知道有没有现...2009-10-21 19:04:19 · 126 阅读 · 0 评论 -
Unitils 学习笔记
源码部分[b]EasyMock相关的[/b]有三个注解:[list][*][b]Mock[/b] : 用注解来创建一个宽松的Mock对象.主要用来在一个测试类中, 对一个声明的属性创建一个mock后的对象, 比如在一个测试类中有一个list属性(未赋值), 那么加@Mock对象之后, 那么该list将会被赋值一个mock的list对象. 就是不为null了.[*][b]Af...2009-11-27 19:44:24 · 185 阅读 · 0 评论 -
解决unitils中的dbunit使用spring中定义的多数据源
最近在研究unitils, dbunit来适应目前的单元测试.在unitils中将要使用的数据源都定义在unitils.properties中, 而在我们的测试配置中, 同样的数据源也在spring中配置了一份儿, 因此本人希望同样的配置不应该出现在两个方面, 从而增加维护成本. 另一方面还可以通过spring来解决多数据源的问题. 于是开始看unitils的源代码, 原来在dbunit mo...2009-12-02 20:07:02 · 547 阅读 · 0 评论 -
Effective Unit Test:代码面前并非人人平等
这里的观点非常值得探讨, 所有的产品代码就像是一项投资, 有些代码的价值大, 因此需要写更多的单元测试来提高测试覆盖率. 另外有些代码的单元测试编写非常困难, 下面的一些因素可以用来帮助我们理解每个单元测试的价值:1.代码被用的次数和它的价值成正比.2.被依赖程度决定测试价值. 如果其他代码严重依赖被测试代码, 那么对应的测试价值大, 如果被测试代码严重依赖其他代码, 那么这个代码将难以测...原创 2012-02-05 15:38:12 · 109 阅读 · 0 评论