- 浏览: 272934 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
taikeqi:
要是我用mybatis,在何处关闭Connection?
连接池关于主动关闭连接的问题分析 -
曾老师:
请问你这个调用数据库中 StoredProcedure 的方法 ...
使用spring调用oracle 的存储过程procedure实践 -
lvwenwen:
google下 mysql优化,有太多的好文章
mysql 慢查询解决之路 -
jinnianshilongnian:
babaoqi 写道jinnianshilongnian 写道 ...
mysql 取最大值列的问题 -
babaoqi:
jinnianshilongnian 写道babaoqi 写道 ...
mysql 取最大值列的问题
初学junit, 现总结一下自己对junit使用.
1.使用@Test
在方法上输入@Test , 然后使用ctrl+1,引入org.junit.Test(junit4.5.jar包)
@Test public void testConn() throws SQLException{ //method }
然后再outline视图下, 在testConn()方法上 右键run -> junit test, 即可运行,自动打开JUnit 视图.
如下图:
绿色,表示,测试通过. 若出现红色,表示有错误,在下方的Failure trace下,查看错误信息,进行调试.
注意:(1)当使用@Test时, 方法必须为public ,void
2. 继承TestCase使用
今天TL让写一个功能单元测试,我说只会使用@Test,不知怎么写. 直接遭到TL鄙视.赶快回去查了junit的一些资料学习.
2.1 只要测试类 继承junit.framework.TestCase.
然后写个以test开头的方法名称. 如testMethodName(){}. 然后即可右键run as=> junit Test.
public class UploadPlatformMessageTest extends TestCase { { public void testTransormAndUpload(){ //method } }
2.2 在类中添加main方法:
public static void main(String[] args) { TestRunner.run( YOURCALSSNAME.class); }
这样直接 run as, -> java application , 也运行程序中所有以test开头的方法.
3. 当类继承TestCase时, 若定义多个test*()方法 ,右键运行run junit Test, 运行的是哪个testcase?
尝试写连个test*()方法, run as ->junit test, 发现 两个方法都执行.
3.1 怎么运行其中的一个test*方法?
解决:(1) 通过运行main()方法来设置运行哪个test方法:
TestSuite ts = new new TestSuite();
ts.addTest(new UploadPlatformMessageTest("testAsbc"));
TestRunner.run(test);
4. ? ? ? 使用@Test方法时, 此方法必需为public void , 对于有返回值的方法无法使用@Test, 有没有其它替代的解决方案?
使用assertEquals( Object , Object);
e.g.:
public int abc(int i){ return i; } @Test public void testAbc(){ assertEquals(2, abc(2)); }
不知我的理解是否正确?
5. assert()使用
:个人感觉就是,为了测试含有返回值的方法, 见 4
6.
TestCase: abstract 类 ,实现了 junit.framework.Test接口, junit.framework.TestCase
TestSuite: 类, 实现Test接口.
Test: 接口, org.junit.Test
@Test 注解: org.junit.Test 注解类型: public abstract @interface org.junit.Test extends java.lang.annotation.Annotation {..}
7.jnuit bug
测试时, 什么异常都不报.
8 问题总结:
? ? ?
junit的使用 有@Test 和 继承TestCase 两种办法. @Test是Junit的 新的特性 ,使用容易 . 而继承TestCase方法是以前使用方法?
评论
如何在每个方法前初始化数据库数据,结束后销毁数据,不要告诉我在setUp里面插入数据,在tearDown里删除,需要系统的解决方案.
现阶段我们只好用 事务回滚 方式作数据库测试
还有几种方式但我个人认为不是非常的爽
比如测试用本机测试库
比如dbunit xml配置基础信息
数据这部分一直是单元测试的痛,我觉得rails框架那种天然集成单元测试的方式很舒服,在每个测试前后使用夹具来提交和回退测试数据,Java里面似乎就没类似的工具。
如何在每个方法前初始化数据库数据,结束后销毁数据,不要告诉我在setUp里面插入数据,在tearDown里删除,需要系统的解决方案.
现阶段我们只好用 事务回滚 方式作数据库测试
还有几种方式但我个人认为不是非常的爽
比如测试用本机测试库
比如dbunit xml配置基础信息
简单封装dbunit,测试类只要提供测试数据xml,数据导出备份在封装的setup teardown搞定,处理好异常基本就够了,推荐基于testNG,junit的静态@BeforeClass太恶心
如何在每个方法前初始化数据库数据,结束后销毁数据,不要告诉我在setUp里面插入数据,在tearDown里删除,需要系统的解决方案.
现阶段我们只好用 事务回滚 方式作数据库测试
还有几种方式但我个人认为不是非常的爽
比如测试用本机测试库
比如dbunit xml配置基础信息
如何在每个方法前初始化数据库数据,结束后销毁数据,不要告诉我在setUp里面插入数据,在tearDown里删除,需要系统的解决方案.
http://www.iteye.com/topic/947919
有些东西东西写单元测试就是徒增烦恼
纸上得来终觉浅
好的 谢谢 , 我有空会看看的. 经过大家的讨论 我明白了多
哦, 这我明白了 为什么老开发人员都是用testcse, 而我们新学的感觉注解@Test 更简单易用
http://licg1234.iteye.com/admin/blogs/946129
比如你执行了一个dao的insert(User user)方法,之后,你可以通过
assertNotNull(message,user.getId())来判断是否正确的插入了
我一般习惯喜欢assert中加message的方法,因为这样可以知道你具体错在哪里了
2.还有就是如果想只运行一个方法,可以直接在方法上右键,run as -- junit test
3.你说什么异常都报,可以看看控制台的信息,可能是你自己catch住了
谢谢, 我对asset有了认识了.
有个问题: 就是使用@Test 还是 继承TestCase 方法来进行,junit测试呢?
7 . 不要加太多框架设计在junit中,spring框架常常把事务挂了....表现就是死活不完....
比如你执行了一个dao的insert(User user)方法,之后,你可以通过
assertNotNull(message,user.getId())来判断是否正确的插入了
我一般习惯喜欢assert中加message的方法,因为这样可以知道你具体错在哪里了
2.还有就是如果想只运行一个方法,可以直接在方法上右键,run as -- junit test
3.你说什么异常都报,可以看看控制台的信息,可能是你自己catch住了
发表评论
-
web工程部署名称 研究
2013-07-22 17:49 1499eclipse 新建web工程后,如api, 在访问web工 ... -
mybatis jdbcType: DATE ,TIMESTAMP 区别:
2013-06-20 16:03 380631. mybatis中 jdbcType 时间类型 当jd ... -
freemarker *.ftl not found 问题解决
2012-12-26 14:07 20054jsp页面请求时, 后台报错: //--------- ... -
<转>在资源管理器中通过右键菜单进DOS窗口
2012-12-07 13:30 1230在资源管理器中通过右键菜 ... -
struts action 疑惑求解
2012-11-26 10:33 977Struts 使用疑问: 1.Struts ,act ... -
转载-正则表达式
2012-11-21 16:06 1031以下是转载: ... -
连接池关于主动关闭连接的问题分析
2012-11-12 17:14 20294讨论1. 使用连接池后在通过连接池获取连接,进行数据库操作时, ... -
eclipse集成svn插件下载
2012-07-03 14:00 165501.地址: eclipse svn官方插件下载页面 ... -
安装jre提示:windows installser 安装出错
2011-09-02 16:22 1565下载 Windows Installer Clean Up V ... -
程序写入日期(较大日期)报错 分析 (未解决)
2011-08-16 12:39 2906web程序, db: IBM DB2 ,server ... -
关于 method (Object ... params )
2011-04-18 15:07 14035看公司的平台代码,看到这样一个方法 public DataS ... -
使用spring调用oracle 的存储过程procedure实践
2011-03-05 11:37 4348在平台中调用oracle 的存储过程procedure实例解析 ... -
平台中调用oracle 的存储过程procedure实例解析
2011-03-02 15:35 1598平台使用oracle,与oracle所 ... -
我需要培养的编程风格
2011-02-16 18:25 2390本文分析了jdk源代码String.class 的代码规范. ... -
java.lang.Exception: No runnable methods 解决
2011-01-19 19:13 254581初学Junit4 , 总结: (1)在需要测试的方法上面写 ... -
jdk1.5及以前版本使用xml signature 签名功能
2011-01-10 18:38 2600JSR 105 (Java XML ... -
解决eclipse使用绿色jdk问题
2010-12-26 15:01 1281重装系统后,没有装jdk,打开eclipse弹出个窗口报错,启 ... -
marven
2010-12-11 09:25 1067[/size][size=large]最近使用MyEclips ... -
jdk以前版本下载地址
2010-11-22 09:28 1586相信做java开发等朋友,在使用jdk时往往会使用到以前的jd ...
相关推荐
第5章:探讨了将Junit整合进开发环境的各种方式。并提及了用Ant,maven和Eclipse来自动化Junit测试。 第二部分:测试策略 第6章:描述了如何用stub来执行单元测试。这一章介绍了一个连接到web服务器的示例应用,并...
本书是WebLogic开发人员的权威参考手册,书中深入探讨了WebLogic Server所提供的功能,并列举了一些最佳开发实践。本书全面介绍了WebLogic在J2EE应用程序的各个方面所完成的任务:从使用servlet、JSP和EJB,到管理...
当泛型最终可用时,我涉足了一些个人项目,但没有深入探讨。 使用泛型重新访问常见的数据结构是一种有趣的审查和学习方法。 该项目以TDD样式完成,仅使用Ant构建工具即可完成。 鉴于此,要使用此库,您将需要熟悉...
[题记]:今晚一个人跑到杭州窝在宾馆无所事事,也睡不着,就把这几天来关于自动化测试的探讨记录下来,也给自己一个机会,逼着自己好好反思这一年多来关于自动化测试的点滴。其实,我也只是接触过两套自动化框架,一...
本文主要探讨如何利用Spring来装配组件,包括其事务上下文。从J2EE应用程序内部连接到单个的数据库并不是什么难事。但是,如果要装配或者集成企业级的组件,情况就复杂了。一个组件可以有一个或多个支持它的数据库...