JTester 和 常用插件介绍
description
Transcript of JTester 和 常用插件介绍
![Page 1: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/1.jpg)
JTester 和常用插件介绍
吴大瑞
2009-05-12
![Page 2: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/2.jpg)
Agenda
测试命名规范 MoreUnit Fluent Syntax ( 断言 ) POJO Serialize Wiki 方式准备测试数据 和 martini 框架集成的初步设想 代码覆盖工具
![Page 3: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/3.jpg)
测试命名规范
业务代码和测试代码放在同一个工程下 业务代码和测试代码路径要区分开 业务类和测试类 package 最好一样 测试类命名 (业务类 1:N 测试类)
• BizClazTest• BizClaxTest_Spec
测试方法命名 (业务方法 1:N 测试方法)• method• test_method• test_method_spec• test_method1_method2
![Page 4: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/4.jpg)
MoreUnit Plugin
代码标签装饰 创建测试 package, class, method 测试类 跳转 业务类 快捷键 ctrl + J 和 ctrl + U Missing testmethod view 代码重构支持
![Page 5: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/5.jpg)
MoreUnit Plugin
![Page 6: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/6.jpg)
MoreUnit Plugin
对命名规格支持的不充分 误判 User
• UserTest• UserServiceTest
找不到• UserTest_NotFound
希望改进• 提供一个视图:列出所有测试类,测试方法
![Page 7: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/7.jpg)
Fluent Syntax
Assert Syntax: want.object(value).assert(expected)
![Page 8: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/8.jpg)
Fluent Syntax
JMock Method Expcetd Syntax: will.call.one(service).method(…)
![Page 9: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/9.jpg)
Fluent Syntax
JMock Para Assert: the.object.assert(expected).wanted()
![Page 10: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/10.jpg)
POJO Serialize
应用场景
SerializeUtil.toDat(pojo, “?.dat”) SerializeUtil.toXML(pojo, “?.xml”) Biz biz = SerializeUtil.fromDat(Biz.class, “?.dat”) Biz biz = SerializeUtil.fromDat(Biz.class, “?.xml”)
xml vs. dat ?
![Page 11: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/11.jpg)
Wiki 方式准备测试数据
Dbunit xml 方式的缺点• 不直观 • 难编辑
Wiki dataset
4 种策略
![Page 12: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/12.jpg)
和 martini 框架集成的初步设想
在工程中建一个 commontest• 准备测试第三方 jar 包• 准备通用的 spring 文件• 准备 ibatis 的 sqlmap 文件
要测试工程依赖 commontest 工程• 准备项目中自己用到的 spring 文件• test-java 目录
需要测试的类 ? 难以测试的类? (重构 ? 不测试 ? )
![Page 13: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/13.jpg)
代码覆盖工具 EclEmma
![Page 14: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/14.jpg)
Resources
Moreunit http://moreunit.sourceforge.net/ JTester http://code.google.com/p/java-tester/ Eclipse Wiki http://eclipsewiki.sourceforge.net/ EclEmma http://update.eclemma.org/
![Page 15: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/15.jpg)
结束语
测试的作用不仅仅是测试代码
![Page 16: JTester 和 常用插件介绍](https://reader036.fdocument.pub/reader036/viewer/2022081416/56815147550346895dbf6a88/html5/thumbnails/16.jpg)
Q&A
Q & A