`
eggbucket1
  • 浏览: 78393 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

JUnit最佳实践

 
阅读更多

目录【可点击浏览】
1..JUnit4.x与JUnit3.8的明显不同
2..资源初始化
3..用于批量运行的测试套件
4..JUnit中关于测试失败的两种情况
5..测试类的存放
6..测试类的命名
7..测试方法的细节
8..测试代码的细节


JUnit4.x与JUnit3.8的明显不同

JUnit4.x JUnit3.8
extendsTestCase
@Before voidsetUp()
@After voidtearDown()
@Test voidtestXxx()
@BeforeClass
@AfterClass
@SuiteClasses staticTestsuite()

资源初始化
待测试对象及辅助对象在@Before 中初始化,全局资源可以在@BeforeClass 中初始化
全局资源通常启动缓慢,如数据库、Web服务器 ,使之仅初始化一次,可加快测试速度


用于批量运行的测试套件
在一个大的项目中,会针对不同包中的源文件提供不同的位于不同包中的测试类
这时最好在每个包中都提供一个批量执行该包中所有测试类的Suite测试套件类
最后再提供一个包含了每个包中的Suite测试套件类的总的测试套件类
但要保证测试套件之间没有循环包含关系 ,否则就会出现无尽的循环


JUnit将测试失败分为两种情况:Failure和Error
Failure 一般由单元测试使用的断言方法判断失败引起的 ,它表示在测试点发现了问题
Error 则是由代码异常引起的 ,这是测试目的之外的发现
Error 可能产生于测试代码本身的错误,也可能是被测试代码中的一个隐藏的BUG


测试类的存放
单元测试是给开发人员使用的。而开发人员使用测试,是为了保证代码的质量
最终的客户不需要单元测试,交付产品时,不需要把测试的代码提交给客户
因此不能把测试类放到源代码的包里面,可以在项目中New 一个Source Folder
然后在New 一个Package ,然后我们让Package的名字和src的包名一致
就是说将源代码跟测试代码放在不同的目录下,但它们的包是相同的
好处是,它们编译好的class都在相同目录下,所以无需引用即可访问src的类


测试类的命名
假设源代码的类名是Calculator ,那么测试代码的类名就叫做CalculatorTest
见名知意,让人一看就知道CalculatorTest.java是用来测试Calculator.java的


测试方法的细节
JUnit用到了反射,它会执行测试类中以test开头的方法,故方法名要以test开头
test后可以跟任何名字,假设测试add()方法 ,为了见名知意,测试方法为testAdd()
应当为需要测试的方法编写多个测试方法,每个测试方法各有侧重
并且测试方法要覆盖所有可能抛出异常的情况


测试代码的细节
测试代码必须简单到能直接看清测试逻辑,即决不能对测试代码再进行测试
不能为适应测试而修改源代码 ,即决不能维护两份源代码
应当一份用于产品,一份用于测试
注意 :不要与“编写测试能改进代码” 相混淆

分享到:
评论

相关推荐

    JUnit 测试用例的20条最佳实践(中文版)

    原文地址:https://dev-cheats.com/java/unit-testing-best-practices-junit-reference-guide.html 这个资源是把文章整理成PDF,方便本地查看。

    软件测试与Junit实践

    《软件测试与Junit实践》一书主要针对的是软件开发中的一个重要环节——测试,特别是针对Java编程语言的单元测试工具...通过阅读书中包含的pdg文件,读者可以深入了解各种测试技巧和最佳实践,提高自己的测试技能。

    Junit的一份资料

    Junit的实施涉及到多个方面,包括测试概念、JUnit框架的使用、最佳实践以及与集成开发环境(IDE)的集成。 测试的概念是软件开发中的关键环节,它旨在发现和修复错误,确保软件的质量。白盒测试,也称为结构测试,...

    单元测试JUnit学习专题

    #### 六、JUnit最佳实践 **测试驱动开发(TDD)**:TDD是一种开发方法论,强调在编写功能代码之前先编写测试代码。 - **编写测试**:首先编写失败的测试案例。 - **编写代码**:然后编写能够通过测试的代码。 - **...

    Junit的一份资料.doc

    JUnit 最佳实践包括: - **编写独立的测试**:每个测试用例应独立于其他测试,避免相互影响。 - **测试覆盖率**:确保测试覆盖了代码的各个分支和边界条件。 - **快速反馈**:测试应迅速执行,以便在开发过程中频繁...

    JUnit 使用的最佳实践

    本篇文章将详细阐述 JUnit 使用的最佳实践,帮助开发者更好地理解和应用 JUnit。 首先,理解 JUnit 的基本使用规范至关重要。每个测试方法都需使用 `@Test` 注解进行标记,且方法必须是 public void 类型,不接受...

    软件测试与Junit实践.rar

    五、最佳实践 1. 单元测试原则:保持测试用例独立,避免依赖外部环境;每个测试用例应快速执行,便于频繁运行。 2. 测试驱动开发(TDD):先写测试用例,再编写实现代码,以测试驱动开发流程,有助于提升代码质量。 ...

    软件测试与junit实践Java测试

    在软件开发过程中,测试是确保产品质量的关键环节。Java测试领域中,JUnit是一个广泛使用的单元测试框架,它使得开发者能够编写可重复执行、...在实际项目中结合最佳实践,如TDD,可以进一步提升团队的整体开发水平。

    JUnit best practices

    ### JUnit最佳实践详解 #### 一、单元测试单一对象 **知识点概述:** 单元测试的一个核心原则就是针对单个对象进行测试。这意味着每个测试用例都应该独立地检验程序中的一个对象或组件的行为,以便在出现问题时...

    JUnit in action JUnit Recipies

    最后,《软件测试与Junit实践_0.zip》可能是一份关于软件测试实践的文档,可能包含Junit在实际项目中的应用案例和最佳实践。 总的来说,这两本书是学习和提升Java单元测试技能的宝贵资源,无论是初学者还是经验丰富...

    JUnit in Action(JUnit经典书籍)中文+英文

    本书详尽地探讨了如何有效地使用JUnit进行软件测试,包括基础概念、高级特性和最佳实践,旨在帮助读者提升软件质量,降低维护成本,以及通过自动化测试提升开发效率。 在书中,作者首先介绍了JUnit的基本概念,包括...

    junit测试_java_JUnit_JUnit测试_

    在"junit测试.txt"这个文件中,可能包含了关于如何使用JUnit进行测试的详细步骤、示例代码和最佳实践。例如,文件可能会讲解如何设置一个基本的JUnit测试类,通常这个类会继承自`junit.framework.TestCase`(对于较...

    Exception.doc

    JUnit最佳实践包括构建健壮、可迁移和多线程的测试用例。为了确保测试的稳定性和可靠性,开发者应该遵循以下原则: 1. 使用断言(Assertions)来验证代码的行为。 2. 尽量使测试用例独立,不依赖于外部环境或测试...

    junit-4.12.jar下载

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们关注的是`junit-4.12.jar`版本...同时,了解不同版本之间的差异也有助于理解JUnit的发展历程和最佳实践。

    junit4 jar完整包

    为了更好地利用JUnit4进行单元测试,我们需要遵循一些最佳实践,如编写独立的测试用例,避免过度复杂的测试,以及充分覆盖代码的各种边界情况。同时,良好的测试覆盖率可以帮助我们发现潜在的代码问题,提高软件质量...

    软件测试与junit实践1详细

    六、最佳实践 1. 测试驱动开发(TDD):先编写测试,再编写生产代码,使代码质量更高。 2. 单元测试的独立性:每个测试方法应独立运行,不受其他测试影响。 3. 充分覆盖:确保测试用例覆盖所有可能的代码路径和边界...

    junit实战第二版

    本段所提及的《JUnit实战第二版》是一本深入讲解JUnit框架的书籍,旨在帮助读者掌握JUnit的各种特性和最佳实践。书籍的结构分为多个章节,其中第一章节和第二章节分别介绍了JUnit的基本使用和深入探索。 在第一章...

Global site tag (gtag.js) - Google Analytics