Junit4在工作中一直只关注简单的单元测试应用,并没有进行系统一点的了解。这两天在修改测试用例时,对它进行了一些了解。现把自己的想法记录下来,以便加深记忆和日后查看。
Junit4.x后的jar包中,存在两类:org.junit.*和junit.framework.*
其中,
junit.framework.*是Junit4之前的包,需要继承TestCase类实现单元测试类的编写,且每个测试方法都要求以testxxx规则命名,Junit框架才能运行该测试方法。
org.junit.*是Junit4之后的包,不再需要继承任何类,只需要使用注释(@Test)即可实现测试方法的自动调用,测试方法命名也自定义,不需再遵守testxxx的命名规则。
Junit的各测试方法的执行顺序不是按代码中的顺序执行,顺序无法指定,不同的运行平台执行顺序也会有差异。
以下是针对以上两种Junit的使用示例:
1.Junit4.x版本以前的测试方法:
package com.self;
import junit.framework.TestCase;
public class TestJunitCase extends TestCase {
public TestJunitCase(String methodName) {
super(methodName);
}
/**
* 测试方法1
*/
public void testFirst() {
System.out.println("first Test Case...");
}
/**
* 测试方法2
*/
public void testSecond() {
System.out.println("second Test Case...");
}
/**
* 测试方法3
*/
public void testThird() {
System.out.println("third Test Case...");
}
}
测试结果如下:
first Test Case...
second Test Case...
third Test Case...
提示:若需要对测试用例的执行顺序进行指定,可通过以下方法进行调整。(建议各测试用例保持相对独立,尽量解耦,减少依赖及不必要的影响)
package com.self;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TestJunitCase extends TestCase {
public TestJunitCase(String methodName) {
super(methodName);
}
/**
* 可通过该方法调整各测试方法的执行顺序
* @return
*/
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestJunitCase("testSecond"));
suite.addTest(new TestJunitCase("testThird"));
suite.addTest(new TestJunitCase("testFirst"));
return suite;
}
/**
* 测试方法1
*/
public void testFirst() {
System.out.println("first Test Case...");
}
/**
* 测试方法2
*/
public void testSecond() {
System.out.println("second Test Case...");
}
/**
* 测试方法3
*/
public void testThird() {
System.out.println("third Test Case...");
}
}
测试结果如下:
second Test Case...
third Test Case...
first Test Case...
2.Junit4.x版本以后的测试方法:
package com.self;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestPractise {
public static int i;
public static int j;
public TestPractise() {
super();
}
/**
* 只调用一次,在所有测试方法执行前调用,可做些准备工作
*/
@BeforeClass
public static void beforeClass() {
System.out.println("this method is called only One Time before...");
}
/**
* 每个测试方法执行前都调用
*/
@Before
public void beforeMethod() {
System.out.println("this method is called EveryTime before..." + i++);
}
/**
* 测试方法1
*/
@Test
public void firstMethod() {
System.out.println("first Test Case...");
}
/**
* 测试方法2
*/
@Test
public void secondMethod() {
System.out.println("second Test Case...");
}
/**
* 每个测试方法执行后都调用
*/
@After
public void afterMethod() {
System.out.println("this method is called EveryTime end..." + j++);
}
/**
* 只调用一次,在所有测试方法执行结束后调用,可做些清理工作
*/
@AfterClass
public static void afterClass() {
System.out.println("this method is called only One Time after...");
}
}
测试结果如下:
this method is called only One Time before...
this method is called EveryTime before...0
first Test Case...
this method is called EveryTime end...0
this method is called EveryTime before...1
second Test Case...
this method is called EveryTime end...1
this method is called only One Time after...
备注:以上标红的两处,即@BeforeClass,@AfterClass必须是静态方法
其他知识可参考以下两处:
JUnit学习笔记:http://wanqiufeng.blog.51cto.com/409430/426763
全面认识JUnit4的新特特征:http://dev.yesky.com/375/2584375.shtml
分享到:
相关推荐
### JUnit4 学习知识点详解 #### 一、JUnit4 概述 JUnit4 是 JUnit 测试框架的一个重大更新版本,它充分利用了 Java 5 的注解(Annotation)特性来简化测试用例的编写过程。注解是一种元数据,用于描述程序中的...
在提供的`Junit4Demo`压缩包中,包含了使用JUnit4进行单元测试的示例代码,你可以参考学习,进一步理解JUnit4的使用方式。 总结,JUnit4作为Java单元测试的核心工具,其强大的功能和易用性使得它在软件开发中扮演着...
这篇博客“学习JUnit4过程中的总结”可能是作者在深入研究JUnit4后的一些心得体验和技巧分享。下面我们将深入探讨JUnit4的核心特性、如何使用以及它在软件开发中的重要性。 首先,JUnit4引入了注解(Annotation)的...
这个“Junit学习.rar”压缩包显然包含了关于JUnit从3.8到4.9版本的学习资料,包括可能的操作手册、教程文档以及个人的学习笔记。以下是基于这些资源可能涵盖的一些关键知识点: 1. **JUnit基础知识**:了解JUnit的...
总结起来,JUnit4作为Java单元测试的重要工具,通过其强大的注解系统、丰富的断言方法、灵活的扩展机制,使得测试工作变得高效且易于维护。熟练掌握JUnit4,将有助于提升软件项目的质量和稳定性,是每个Java开发者...
测试方法执行之后都要执行一次,通常用于清理工作,如关闭数据库连接或释放资源。这两个注解替代了 JUnit 3 中的 ...在学习 JUnit4 时,了解并熟练使用这些注解是非常重要的,它们将帮助你编写出高效、可靠的测试代码。
总结,这份"PPT讲义"全面覆盖了JUnit 4的关键特性和实践,无论是初学者还是有经验的开发者,都能从中受益,提升单元测试的能力,从而提高代码质量,减少潜在的缺陷。通过深入学习和实践,我们可以更好地利用JUnit 4...
JUnit是Java编程语言中最...总结来说,JUnit 4通过注解和更多的灵活性提升了测试体验,而JUnit 3.8则相对基础和传统。随着Java开发的不断进步,理解并熟练运用不同版本的JUnit API对于保证代码质量和可维护性至关重要。
总结,Junit是Java开发中的重要工具,掌握其使用方法和高级特性能够提升代码质量,降低软件缺陷。不断学习和实践,才能充分利用Junit的强大功能,为软件开发保驾护航。通过阅读本学习文档,希望你能够对Junit有更...
总结起来,Junit4是Java开发中的强大工具,通过注解、断言和各种测试策略,能有效地保证代码的质量和稳定性。熟悉和掌握Junit4的使用,对于提升开发效率和代码质量至关重要。在实际项目中,你可以根据需求灵活运用...
《Junit4的应用案例》 Junit4是Java编程领域中广泛应用的一个单元测试框架,它为开发者提供了...TestJunit4这个文件名可能代表的是一个包含Junit4测试的示例工程,它包含了具体的应用场景,值得我们深入研究和学习。
总结来说,"surefire-junit4-2.7.2-javadoc.jar"是理解Surefire与JUnit4在2.7.2版本中协同工作的关键资源。它包含的API文档不仅有助于我们学习如何配置和使用这两个工具,而且能帮助我们编写出更加规范和高效的测试...
### JUnit4学习笔记——入门篇 #### 一、配置MyEclipse在项目中引入JUnit4.jar包 在使用JUnit4进行单元测试之前,首先需要确保开发环境已正确配置JUnit库。对于使用MyEclipse IDE的开发者来说,可以通过以下步骤...
总结,JUnit 是 Java 开发中的重要工具,通过其提供的框架和注解,可以帮助开发者有效地进行单元测试,确保代码质量,并提升开发效率。理解并熟练使用 JUnit,对于任何 Java 开发者来说都是必不可少的技能。
通过学习和熟练使用JUnit,开发者可以提高代码质量,减少因错误导致的问题,从而提升软件的稳定性和可靠性。理解JUnit的基本结构、断言机制以及如何编写测试案例,是每一个Java开发者必备的技能。通过实际的案例研究...
总结来说,Spring框架和JUnit4的结合使得测试变得更加便捷,它们共同促进了高效且可靠的Java应用程序的开发。通过学习和实践这个小案例,你将能够更好地理解如何在Spring环境中编写和执行单元测试。
这篇博客“JUnit学习笔记”可能是博主GreatJone在深入学习JUnit过程中所做的记录和总结,包括了JUnit的基本概念、核心组件、使用方法以及一些高级特性。 首先,JUnit的核心理念是基于断言的测试,即编写特定的测试...
总结来说,Junit4 Test 单元测试是 Java 开发中的关键实践,它提供了结构化和自动化的方式来验证代码的正确性,确保软件的质量。掌握 JUnit4 的使用和测试技巧,对于编写健壮、可靠的代码至关重要。通过学习和应用...
**Junit白盒测试学习文档** 在软件开发中,测试是不可或缺的一环,它确保了代码的质量和稳定性。其中,白盒测试(也称为结构测试或逻辑驱动测试)是一种基于程序内部逻辑结构进行的测试方法。Junit作为Java领域最...