`
newbin
  • 浏览: 38585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初了解Junit3.8.2&Junit4

阅读更多

       在这儿安家已经好久了,就是没能上来写东西,实习这段时间,项目组的一个大牛极力推荐写代码多写测试类,刚开始的时候也不知道写测试类干嘛,再说自己刚开始学习写代码根本没那个能力,乱七八糟的代码写出来只要能实行应有的功能就已经感觉已经很庆幸了,代码写的像大牛说的那样天马行空了。。。。。跑题了,那时候改点东西运行一下看看是否达到预期的结果慢的要死,那会儿几乎一天只能写一点点的东西,那会儿大牛说的用junit写测试类压根就没考虑,慢慢,慢慢的感觉到自己写代码的效率是非常的低,最近由于时间比较多,大牛有时候给我们讲点新东西,有提到了junit,听大牛说的,想想自己学习的这段过程中写代码效率低,是不是应该学习学习junit,今天找了些junit的东西看了看,找到的是关于4的相关资料,junit用java5的annotation使得写测试类更加简单(在我没看junit3.x前我也不知道倒底简单了多少,看了3.8的一点资料后发现果然简单了许多),由于一直用的java1.4.2,对annotation的特性还没有多少了解,硬着头皮把那篇文章看完了,在junit4中涉及倒的概念有测试类(方法),这是最基础的,在3.8中很注重测试方法的命名必须以Test开头的类,而在4中你可以用annotation特性,在测试方法前加@Test就不必特别小心测试类的命名,测试方法必须是public void的,记住:您的单元测试代码不是用来证明您是对的,而是为了证明您没有错。因此单元测试的范围要全面,比如对边界值、正常值、错误值得测试;对代码可能出现的问题要全面预测,而这也正是需求分析、详细设计环节中要考虑的,(这是引的那篇文章的原话)要牢记!请牢记这一条 JUnit 最佳实践:测试任何可能的错误。单元测试不是用来证明您是对的,而是为了证明您没有错。测试有failure和error两种结果,failure表示测试点出现问题,说明我们写的类有问题,error是由代码异常引起,可能是测试类代码问题,也有可能是要测试的代码潜在的bug。  下一个概念就是fixture,就是一个测试方法或多个测试方法的的一系列公共数据,在4中junit的提供了方法定义fixture,应用annotation,junit4应用注解before定义初始fixtrue方法和注解after定义fixture用完后注销方法,before,after只能一次运行一个测试方法,也就是说初始一次fixture运行测试方法注销fixture,运行下一个又要初始fixtrue,又要注销。。。。。还是有点麻烦,要使所有的测试方法运行只需一次初始和一次注销,那么就要用注解beforeClass和afterClass,在3.8中用setUp()初始fixture和tearDown()注销fixture,在3.8中是不是也有类似的一次初始化fixture和注销fixture我还不清楚(嘻嘻,毕竟只是开始看,慢慢来),希望高手来指点。还有一个junit中一个重要的概念就是测试套件(Suite),就是junit提供的批量运行测试类的方法,主要原因写的代码的类越多,方法越多一次只运行一个测试方法,这样测试起来效率就慢了,批运行就快许多。。。。。今天就到这里吧,感觉了解的东西还挺多的,我理解的肯定有许多不正确的地方,希望高手多指点,谢谢,我会继续学习junit的。

分享到:
评论
5 楼 newbin 2007-03-19  
Godlikeme 写道
lz说得“最佳实践” 可不是什么最佳实践。
强调一个方面,就会忽略其他方面。

推荐本书《Pragmatic Unit Testing in Java with JUnit 》

好的单元测试具有以下的特点:简称为 A-TRIP。
自动性(Automatic)
完备性(Thorough)
可重复性(Repeatable)
独立性(Independent)
专业性(Professional)





谢谢指导
4 楼 生命火花 2007-03-19  
借楼主一贴,我要大声的对junit4说一个F字


我和我的4个志同道合的朋友正在啃junit4的代码!原因只有一个!junit4已经完完全全的做到了无缝,透明!一个@Test就把方法包到测试框架中去了!还有TestRunner,简直神了,可以对bug进行filter,允许log对象的注入,并且可以随时中断!但是却保留部分测试数据!并且提供接口转化! 我和朋友正在做可视化测试框架,这部分的东西对我们来说就象有个人提壶水从我们头上浇下来一样!当我们还在钻研如何使注入的代价可估计化时,junit早就在程序里面裸奔了,如此少的代码。。。。。神了!
3 楼 Godlikeme 2007-03-18  
如果对TDD感兴趣还可以看看 kent beck的 Test-driven development,很不错,书的后面谈到了一些测试模式,对理解测试在开发中的作用很有帮助。
2 楼 Godlikeme 2007-03-18  
lz说得“最佳实践” 可不是什么最佳实践。
强调一个方面,就会忽略其他方面。

推荐本书《Pragmatic Unit Testing in Java with JUnit 》

好的单元测试具有以下的特点:简称为 A-TRIP。
自动性(Automatic)
完备性(Thorough)
可重复性(Repeatable)
独立性(Independent)
专业性(Professional)



1 楼 zjh666qq 2007-03-18  
说的比较详细,我们项目目前做单元测试只是虚拟数据测试下,没有深入的测试,时间紧,流程多,没办法,有时间真得用心做

相关推荐

    junit3.8.2

    junit3.8.2junit3.8.2junit3.8.2junit3.8.2junit3.8.2

    junit3.8.2.zip

    这个"junit3.8.2.zip"压缩包包含了JUnit 3.8.2的所有相关资源,方便开发者在项目中集成和使用。 JUnit 3.8.2主要知识点包括: 1. **测试注解**:虽然在后续的JUnit版本中注解功能得到了进一步加强,但在3.8.2中,`...

    junit3.8.2 jar包和源码

    1. **添加依赖**: 在项目中,需要将junit3.8.2.jar添加到类路径,以便编译和运行测试。在IDE如Eclipse中,这可以通过右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add Jars 或 Add External...

    junit3.8.2 chm帮助文档

    在"junit3.8.2 chm帮助文档"中,你可以找到关于JUnit 3.8.2的详尽指南和API文档。以下是该文档可能涵盖的一些关键知识点: 1. **JUnit简介**:解释了什么是JUnit,其目标和用途,以及如何在项目中引入JUnit库。 2....

    Junit 3.8.2

    然而,需要注意的是,JUnit 3.8.2相对较老,现代项目通常会使用更新的版本,如JUnit 4或JUnit 5,它们引入了更多的特性,如参数化测试、更灵活的注解和更好的错误报告。 总的来说,JUnit 3.8.2是Java开发中单元测试...

    junit-3.8.2.jar

    JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。

    junit3.8.2.chm

    使用了javadocchm制作的juint帮助文档。。。。

    junit-3.8.2.jar.zip114k.zip

    4. 运行测试套件,可以使用IDE集成的JUnit支持或者命令行工具。 除了基本的测试功能,JUnit 3.8.2还支持测试监听器(TestListeners),允许开发者定制测试运行时的行为,例如记录测试日志或在测试失败时发送通知。...

    JUnit3.X和4.X学习记录及用例

    本资源包含了JUnit3.8.2和JUnit4.8.1两个版本的学习笔记和练习用例,帮助我们深入理解这两个版本的差异与特性。 首先,JUnit3.8.2是JUnit系列的一个较早版本,其核心概念包括断言(Assertions)、测试方法(Test ...

    Eclipse安装插件——junit

    而`junit3.8.2`和`junit`可能是Junit的不同版本,`junit3.8.2`表示的是Junit 3.8.2版本,这是一个较旧但仍然广泛使用的版本,而`junit`可能指的是Junit的某个较新版本。如果你在Eclipse中直接导入这些文件,可能需要...

    junit-3.8.2.jar.zip

    java jar包,亲测试可用 安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。 加快下载速度; 压缩,使文件变小,与ZIP压缩机制完全相同。 ...能够让JAR包里面的文件依赖于统一版本的类文件。...

    jxl.jar;dom4j.jar;jsonplugin-0.34.jar;junit-3.8.2.jar;log4j-1.2.14.jar;struts2-codebehind-plugin-2.0

    4. **junit-3.8.2.jar**:JUnit是Java编程语言中最著名的单元测试框架,用于编写和运行可重复的自动化测试。这里的3.8.2版本相对较老,现代开发中更多使用的是JUnit 4或5。尽管如此,它仍然能够帮助开发者编写断言,...

    com.springsource.junit-3.8.2.jar

    jar包,官方版本,自测可用

    junit-3.8.2.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...

    kalah:SOFTENG701-A3

    卡拉SOFTENG701-A3设置将kalah.jar和junit-3.8.2.jar添加到您的类路径中。 在Intellij中, File -> Project Structure -> Modules -> Dependencies -> Plus Sign建筑罐在Intellij中, File -> Project Structure -> ...

    SSH无冲突jar包

    **JUnit 3.8.2** 是一个流行的单元测试框架,用于编写和运行Java代码的测试。在开发过程中,JUnit帮助开发者确保代码的正确性,每个测试用例都可以独立运行,并能快速反馈代码中的错误。3.8.2版本可能不再是最新的,...

    jox-1.17b3

    jox-1.17b3,好用的XML转换工具包,dtdparser121.jar;jaxp.jar;jox-1.17b3.jar;junit_3.8.2.jar;parser.jar;xercesimpl.jar;xml-apis.jar

    网吧零售系统详细设计与不完全代码

    - 使用的技术栈:Spring Framework 2.0.8、Struts 1.2.9、Hibernate 3.0、XDoclet-plugins 1.0.3、Ant 1.6.2、Tomcat 6、JUnit 3.8.2、MySQL 5、pager-taglib 和 log4j 1.2.1。 - IDE:MyEclipse 6.0.1。 - 版本...

    Eclipse 插件下载专区lousingvu专用通道

    9. `org.junit_3.8.2.v20090203-1005`:JUnit是Java语言的单元测试框架,此插件使Eclipse支持JUnit测试编写和运行,对代码质量的保证至关重要。 10. `org.eclipse.core.runtime.compatibility.registry_3.2.200.v...

Global site tag (gtag.js) - Google Analytics