JUnit是在xp编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的:
1、对于xp编程而言,要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在xp编程中,基本过程是这样的:构思-》编写测试代码-》编写代码-》测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较块的追踪到问题的原因,减小回归错误的纠错难度。
2、对于重构而言,其好处和xp编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。
3、对于非以上两种情况,在开发的时候使用junit写一些适当的测试也是有必要的,因为一般也是需要编写测试的代码的,可能原来不是使用的 junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会那个测试不通过,为什么,而如果是想以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果使用正确,使用junit 的好处就是这个结果是否正确的判断是它来完成的,只需要看看它告诉结果是否正确就可以了,在一般情况下会大大提高效率。
引用自: http://www.hudong.com/wiki/junit
分享到:
相关推荐
使用JUnit5的Java的TDDBCTD,TDDBCのJava向けJUnitプロジェクトです。gradleを使う场合gradleのインストール(wrapperを使わない场合) # Mac$ brew install gradleまたは、$ sdk install gradle# Unix$ sdk install...
在处理高精度数学计算或者需要精确浮点运算的场合,如图形渲染、物理模拟等,`neg_double`的操作会频繁出现。 在提供的压缩文件中,我们可以看到四个以"T_"开头的Java源文件:T_neg_double_1.java、T_neg_double_4....
《quotable》是一款基于Spring Boot框架的示例项目,旨在为用户提供各种场合下的引用语句。这个项目展示了如何利用Java编程语言和Spring Boot的强大功能来构建一个实用的应用程序。Spring Boot是一个流行且易于上手...
同时,Eclipse的插件系统允许开发者添加各种功能,如Maven插件用于项目构建,Mylyn用于任务管理,以及JUnit插件进行单元测试等。 在Android开发方面,Eclipse与Android Developer Tools (ADT) 插件结合,为开发者...
本书覆盖了Java编程的基础到高级的所有重要知识点,适合不同水平的学习者阅读。无论是初学者还是有一定经验的开发者,都能从中获得有价值的信息,并通过实践加深对Java编程的理解。通过系统地学习本书的内容,读者将...
这个源码项目非常适合那些在毕业设计中涉及自定义控件或需要垂直方向滑动操作的开发者学习。 在Android开发中,SeekBar是用于展示进度变化的一种常见UI组件,通常用于音量调节、进度选择等场景。然而,原生的...
随着人类社会的进步,各种领域计算机的普及,计算机软件也越来越多的出现在各个场合,为人们的办公、生活、学习、休闲等提供了前所未有的方便。 软件测试的目的是确认软件的质量,确认软件做了你所期望的事情(Do ...
2. **无头浏览器**:无头浏览器是指没有图形用户界面的浏览器,它们在后台运行,非常适合自动化任务和服务器环境。HTMLUnit就是无头浏览器的一个例子,它在内存中解析和执行网页代码,提供与真实浏览器相似的功能。 ...
##### 2.1 适合自动化测试的场合 - **手工测试难以实现的工作**:如大量并发用户的性能测试。 - **重复性强的操作**:例如回归测试中的固定步骤。 - **更频繁的测试需求**:持续集成环境下需要频繁地进行构建和测试...
PDF版本是书籍的电子格式,便于在电脑、平板或手机上阅读,而TXT文件则提供了文本格式的选择,适合在没有PDF阅读器或者需要进行文本搜索的场合使用。这两种格式都为读者提供了灵活的学习方式。 在《Effective ...
然而,对于需要高性能计算或者利用硬件特性(如GPU加速、音频处理等)的场合,Java的性能可能无法满足需求,此时就需要NDK介入。NDK使得我们能够在Android平台上进行底层开发,充分利用C和C++的高效性能。 NDK的...
在基础理论部分,教程会详细阐述黑盒测试和白盒测试的概念,以及它们的区别和应用场合。黑盒测试关注的是功能需求的实现,而白盒测试则深入到代码层面,检查程序的逻辑结构。此外,还会涉及灰盒测试,它是介于两者...
SQLite适合存储结构化的数据,如点名历史记录,而SharedPreferences适用于存储简单的键值对。 6. **通知与反馈**:为了增加用户体验,可以在点名后播放一个音效或者显示一个短暂的Toast通知,告知用户点名已成功。 ...
它可能还会讲解黑盒测试、白盒测试、灰盒测试等不同测试策略的差异和应用场合。 2. **测试计划与设计**:课件可能会深入讨论如何制定有效的测试计划,包括测试范围、资源分配、时间估计等。同时,测试用例设计也是...
DDSign是一款专为Android平台设计的签到打卡应用程序,它提供了用户日常签到打卡的功能,适用于各种场合,如企业、学校等。该项目旨在帮助开发者了解如何在Android环境中构建此类应用,同时也是一个学习和借鉴的好...
+ java.io 包下的 60%以上的类的使用,理解 IO 体系的基于管道模型的设计思路以及常用 IO 类的特性和使用场合。 + java.math 包下的 100%的内容。 + java.net 包下的 60%以上的内容,对各个类的功能比较熟悉。...
短信息系统是论坛活跃度和用户粘性的重要组成部分,它允许用户在不公开场合进行私密对话,增强社区内的交流。 【标签】: 1. **Java Web**:这表明了项目的编程语言和环境,Java是一种广泛使用的服务器端编程语言,...
XML格式则适合需要进一步处理和分析数据的场合,例如与其他应用程序集成;而PDF格式则便于打印和保存,保持了报告的原始布局和样式。这些格式的选择满足了不同用户的需求,使得报告既可以在屏幕上阅读,也可以离线...