- 浏览: 276729 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1567eclipse 新建web工程后,如api, 在访问web工 ... -
mybatis jdbcType: DATE ,TIMESTAMP 区别:
2013-06-20 16:03 382161. mybatis中 jdbcType 时间类型 当jd ... -
freemarker *.ftl not found 问题解决
2012-12-26 14:07 20139jsp页面请求时, 后台报错: //--------- ... -
<转>在资源管理器中通过右键菜单进DOS窗口
2012-12-07 13:30 1319在资源管理器中通过右键菜 ... -
struts action 疑惑求解
2012-11-26 10:33 1023Struts 使用疑问: 1.Struts ,act ... -
转载-正则表达式
2012-11-21 16:06 1076以下是转载: ... -
连接池关于主动关闭连接的问题分析
2012-11-12 17:14 20370讨论1. 使用连接池后在通过连接池获取连接,进行数据库操作时, ... -
eclipse集成svn插件下载
2012-07-03 14:00 166621.地址: eclipse svn官方插件下载页面 ... -
安装jre提示:windows installser 安装出错
2011-09-02 16:22 1651下载 Windows Installer Clean Up V ... -
程序写入日期(较大日期)报错 分析 (未解决)
2011-08-16 12:39 2964web程序, db: IBM DB2 ,server ... -
关于 method (Object ... params )
2011-04-18 15:07 14120看公司的平台代码,看到这样一个方法 public DataS ... -
使用spring调用oracle 的存储过程procedure实践
2011-03-05 11:37 4485在平台中调用oracle 的存储过程procedure实例解析 ... -
平台中调用oracle 的存储过程procedure实例解析
2011-03-02 15:35 1652平台使用oracle,与oracle所 ... -
我需要培养的编程风格
2011-02-16 18:25 2493本文分析了jdk源代码String.class 的代码规范. ... -
java.lang.Exception: No runnable methods 解决
2011-01-19 19:13 255351初学Junit4 , 总结: (1)在需要测试的方法上面写 ... -
jdk1.5及以前版本使用xml signature 签名功能
2011-01-10 18:38 2653JSR 105 (Java XML ... -
解决eclipse使用绿色jdk问题
2010-12-26 15:01 1336重装系统后,没有装jdk,打开eclipse弹出个窗口报错,启 ... -
marven
2010-12-11 09:25 1146[/size][size=large]最近使用MyEclips ... -
jdk以前版本下载地址
2010-11-22 09:28 1674相信做java开发等朋友,在使用jdk时往往会使用到以前的jd ...
相关推荐
本文将深入探讨JUnit4的核心特性、使用方法以及如何将其应用到实际项目中。 首先,我们要明白单元测试的重要性。在软件开发过程中,单元测试是确保代码质量的第一道防线,它能够帮助开发者尽早发现和修复问题,提高...
这里我们将深入探讨JUnit 3.8和JUnit 4两个版本的主要API及其差异。 **JUnit 3.8 API** JUnit 3.8是JUnit的一个早期版本,它的API设计相对简单,主要包含以下关键组件: 1. **测试类和测试方法**:在JUnit 3中,...
下面我们将深入探讨JUnit4的核心特性、如何使用以及它在软件开发中的重要性。 首先,JUnit4引入了注解(Annotation)的概念,使得测试类和方法的声明更加简洁直观。例如,`@Test`注解标记在测试方法上,表示这是一...
本学习文档将深入探讨Junit测试的基本概念、用法以及高级特性。 一、Junit简介 Junit是由Ernst von Brucke和Erich Gamma创建的一个开源项目,它是Java平台上的一个单元测试框架,用于编写和运行可重复的测试。通过...
本教程将深入探讨Junit4测试用例的使用,帮助你理解和实践其核心概念。 一、Junit4简介 Junit4是JUnit系列的第四个主要版本,由Erich Gamma和Kent Beck共同设计。它引入了许多新特性,如注解(Annotations)、测试...
在提供的`Junit4Demo`压缩包中,包含了使用JUnit4进行单元测试的示例代码,你可以参考学习,进一步理解JUnit4的使用方式。 总结,JUnit4作为Java单元测试的核心工具,其强大的功能和易用性使得它在软件开发中扮演着...
本案例主要探讨Junit4在实际项目中的应用,通过具体的测试类和源代码,我们将深入理解其核心特性和优势。 一、Junit4简介 Junit4是由Eclipse基金会维护的开源项目,它基于JUnit3进行了重大改进,引入了注解...
在本文中,我们将深入探讨JUnit4的一些核心概念、特性以及如何通过实例代码进行使用。 首先,JUnit4引入了注解(Annotations)的概念,这是对传统基于接口的测试模式的重大改进。例如,`@Test`注解标记测试方法,`@...
本文将深入探讨JUnit入门培训的关键概念和技术。 首先,我们要理解什么是Test Driven Development(TDD),即测试驱动开发。TDD是一种软件开发方法论,它提倡在编写实际业务代码之前先编写测试。通过这种方式,...
本文档将深入探讨Junit4的基础知识和应用技巧,帮助开发者提升测试效率和代码质量。 **一、Junit简介** Junit是由Erich Gamma和Kent Beck共同创建的开源测试框架,它提供了一种简单的方式来编写和运行针对Java类的...
在本文中,我们将深入探讨JUnit3.8的基础知识,了解其核心概念、用法以及如何在实际项目中应用。 首先,我们来理解什么是单元测试。单元测试是一种软件开发方法,它允许开发者独立地测试程序的各个小部分,即“单元...
让我们深入探讨一下JUnit 4.12及其相关文件。 首先,`junit-4.12.jar`是JUnit的核心库,包含了运行和编写单元测试所需的所有类和接口。使用这个库,开发者可以创建测试类,定义测试方法,并使用各种断言来检查程序...
在本篇综述中,我们将深入探讨JUnit4的核心特性及其带来的新功能,包括参数化测试、异常测试和计时测试等,并介绍如何利用注解来逻辑分组测试用例。 #### Java 5 注解带来的变革 Java 5 的引入为JUnit带来了巨大的...
通过这份Junit学习笔记,你可以掌握单元测试的基本思想,熟练运用JUnit进行代码质量的保障。在实际开发中,单元测试不仅能帮助找出错误,还能在重构时提供安全保障,提高代码质量。不断学习和实践,你会发现自己在...
标题“log4j, Junit 学习”暗示了我们要探讨的两个关键主题:Log4j 和 JUnit。Log4j 是一个广泛使用的Java日志框架,它提供了灵活的日志记录功能,有助于调试和监控应用程序。JUnit 是一个用于单元测试的Java库,是...
本文将深入探讨JUnit 4.0版本的主要特性、核心概念以及如何有效利用它进行单元测试。 一、JUnit 4.0 特性概述 1. 注解驱动测试:JUnit 4.0引入了注解(Annotation)的概念,使得测试类和方法更加简洁易读。例如,`...
书中还探讨了异常测试,通过@Test注解配合expected参数可以测试预期抛出的异常。 接着,书中介绍了参数化测试,这是一种强大的特性,允许使用不同的输入数据集运行同一个测试方法,从而实现对同一功能的多方面验证...
在本篇中,我们将详细探讨JUnit 4.8.2和4.7这两个版本,以及它们在测试过程中的应用。 首先,JUnit 4.8.2是JUnit系列的一个稳定版本,相较于早期的4.7版本,它可能包含了修复的bug、性能改进和新的特性。在JUnit 4....
在Lab_2中,你将学习如何配置Eclipse以使用Junit4,编写基本的测试用例,以及如何通过Eclipse的插件或外部工具来分析代码覆盖率。这不仅有助于确保代码的质量,还能在开发早期发现潜在问题,减少后期维护的成本。 ...