抽象类TestCase
抽象类TestCase实现了接口Test,以下是接口Test的一个方法原型:
public abstract void run(TestResult result);
TestCase对这个方法的实现如下:
public void run(TestResult result) {
result.run(this);
}
对这个方法的调用又将主动权交给TestResult,由TestResult来执行对被测方法的调用,这样便于TestResult跟踪用例执行结果并记录下来,以便作最后的统计分析。
转到TestResult中这个方法的实现:
protected void run(final TestCase test) {
startTest(test);
Protectable p= new Protectable() {
public void protect() throws Throwable {
test.runBare();
}
};
runProtected(test, p);
endTest(test);
//这个方法和上面的startTest用于调用TestListener接口对象,实现监听机制。
}
在这个方法中调用了TestCase的runBare方法:
public void runBare() throws Throwable {
setUp();
try {
runTest();
}
finally {
tearDown();
}
}
可以看到先调用了setUp,之后不管是否产生了异常,都一律调用了tearDown,这两个方法在TestCase中空实现,我们的用例子类可以覆盖(overload)这两个方法,用于用例执行前的初始环境建立和用例执行后的环境清除。接下来我们关注TestCase的runTest方法,看它如何调用到我们的测试方法的。前面提到,TestCase维护了一个用例名称,这个用例名称在TestCase实例化时传入,用例名称就是测试方法名,知道了测试方法名,也就知道了测试方法原型,使用JAVA的反射机制实现了对测试方法的调用。注意这个测试方法正是TestCase子类需要实现的。
分享到:
相关推荐
Java平台的单元测试技术研究关注于提升应用程序的稳定性和质量,随着Java技术在中国社会的重视程度不断提升,单元测试成为保障系统质量的关键技术。研究内容主要包括单元测试技术的使用流程、测试工作的相关准则、...
总结来说,这个"java单元测试demo"是关于如何使用JUnit进行接口的功能测试,通过编写测试用例、设置断言以及可能的模拟技术,确保接口的输入和输出符合预期,从而提升代码质量和可维护性。通过运行测试并查看结果,...
### JAVA单元测试JUnit的核心知识点详解 #### 一、JUnit概览与重要性 JUnit作为一款卓越的Java单元测试框架,自问世以来便以其强大的功能和易用性深受开发者喜爱。由软件大师Erich Gamma和Kent Beck共同打造,...
Java单元测试包主要包含了JUnit 4的不同版本,如4.7、4.8和4.11。JUnit是一个用于编写和运行Java单元测试的开源框架,它是Java开发中不可或缺的一部分,尤其是在实施持续集成和敏捷开发时。这个压缩包提供的是JUnit ...
Java 单元测试篇:使用 Clover 为 Java 代码的 JUnit 测试做覆盖率分析 Java 单元测试是软件测试的重要组成部分,对于 Java 开发者来说,单元测试是必不可少的。今天,我们将学习使用 Clover 框架来分析 Java 代码...
本主题将深入探讨Java单元测试的方法和技术。 首先,我们需要了解Java中的主流单元测试框架JUnit。JUnit是一个开放源码的Java测试框架,它提供了编写和运行可重复测试的能力。在JUnit中,测试用例以类的形式存在,...
1. **JUnit框架**:是最常用的Java单元测试框架之一,提供了一套简洁的API来编写和运行测试用例。它支持数据驱动测试、测试组等高级特性。 2. **Mockito框架**:用于创建模拟对象,以隔离被测试单元与其他组件的依赖...
这个资源中的接口主要是为了帮助学生或者开发者更好地理解和掌握Java单元测试的概念和技术。通过这些接口,你可以学习如何编写单元测试,如何使用断言方法来检查结果,以及如何组织和运行测试用例等。此外,这个资源...
在进行单元测试时,有以下几个关键概念和技术: 1. 测试框架:为了简化单元测试的编写,通常会使用专门的测试框架。例如Java领域的JUnit,Python的unittest,C#的NUnit等。这些框架提供了一套结构化的API,帮助...
总之,JUnit作为Java单元测试的重要工具,其熟练掌握对于提升开发效率和保证软件质量至关重要。通过理解并应用其核心概念和技术,开发者可以更好地实现代码的验证和调试,从而推动项目的稳定发展。
面向对象编程是软件开发中的一项核心技能,特别是在Java这样的面向对象语言中,理解面向对象的基本概念对于进行单元测试和更广泛的软件测试至关重要。单元测试是软件测试的一个重要分支,它专注于对软件中的最小可...
【标题】"Java 测试" 涵盖了Java编程语言中的测试技术,这包括单元测试、集成测试、系统测试等多个层次。Java测试是确保代码质量、提高软件可靠性的重要环节,它通过自动化的方式验证程序的功能是否按预期工作,以及...
《单元测试之道Java版》这本书,正如它的标题所示,是一部关于如何进行Java单元测试的专业指南,它结合了丰富的实例和实际经验,旨在帮助开发者掌握单元测试的技巧,并在软件开发中应用这些技巧。 这本书的读者们,...
本文主要介绍了基于Annotation的Java单元测试框架,讨论了Annotation在Java EE中的应用、反射技术的使用和JUnit单元测试框架的结合,建立了一个自动化单元测试框架结构。 一、Annotation概述 Annotation是Java 5中...
书中介绍的技术、方法和工具能够使软件开发人员、QA技术员和IT管理员高效地协同完成软件的开发和测试自动化。 通过本书,您可以了解到包装在下一代J2EE、.NET和开源项目中的新API、协议和工具的详细清单。因为这些...
展示了高级技术:测试部分失败、工厂、依赖关系测试、远程调用、基于集群的测试服务器群等。 介绍了在Eclipse和IDE中安装TestNG插件。 包含了大量的代码示例。 无论您使用TestNG,JUnit或其他测试框架,本书提供的...
深入学习Java单元测试(Junit+Mock+代码覆盖率) Java单元测试是软件测试的一种,旨在验证软件的正确性和可靠性。单元测试是编写测试代码,...Java单元测试需要使用Junit框架和Mock技术,并且需要注意代码覆盖率指标。