阅读了一些有关单元测试的文章,从这些文章中截取了一些信息,算是在学习过程中的一个小结吧!备日后查看!
单元测试代码不是用来证明您是对的,而是为了证明您没有错。因此单元测试的范围要全面,比如对边界值、正常值、错误值得测试;对代码可能出现的问题要全面预测,而这也正是需求分析、详细设计环节中要考虑的。
请牢记这一条 JUnit 最佳实践:测试任何可能的错误。单元测试不是用来证明您是对的,而是为了证明您没有错。
JUnit 将测试失败的情况分为两种:failure 和 error。Failure 一般由单元测试使用的断言方法判断失败引起,它表示在测试点发现了问题;而 error 则是由代码异常引起,这是测试目的之外的发现,它可能产生于测试代码本身的错误(测试代码也是代码,同样无法保证完全没有缺陷),也可能是被测试代码中的一个隐藏的bug。
JUnit的几个基本的概念:TestCase,TestSuite,TestFixtrue
TestCase: 代表一个测试用例,每一个TestCase实例都对应一个测试,这个测试通过这个TestCase实例的名字标志,以便在测试结果中指明哪
个测试出现了问题.TestCase继承自Assert,因此可以实现各种断言。
TestSuite:代表需要测试的一组测试用例,也就是测试用例的集合,
TestFixtrue:代表一个测试环境。它用于组合一组测试用例,这组测试用例需要共同的测试运行环境。
Test接口: 代表一个测试。它是框架的主接口有两个方法:
int countTestCases();//返回所有测试用例的个数。
void run(TestResult result);//运行一个测试,并且收集运行结果到TestResult.
TestCase类: TestCase实现了Test接口,是框架提供的供我们继承的类,我们的所有的测试方法都需要在TestCase的子类中定义,并且符合
特定的设计协议。一个TestCase实例代表一个具体的测试实例,对应一个对某一方法或概念的测试。每个TestCase实例都有一个名字。一个
TestCase类却定义了一个TestFixture。具体的说就是我们自己定义的TestCase子类中可以定义很多的public 没有参数的 testxxx方法。运行
时,每个testxxx都在自己的fixture中运行。每个运行的TestCase都有一个名字,如果不指定,一般是TestCase中定义的test方法的名字。
TestSuite类: 和TestCase一样TestSuite也实现了Test接口。一个TestSuite可以包含一系列的TestCase。把testCase组装入TestSuite有几
种方式:
A,通过将TestCase的Class参数传入TestSuite的构造函数,TestSuite会自动收集TestCase中所有的public的没有参数的testxxx方法加入
TestSuite中。
B,构造空的TestSuite后通过void addTest(Test test)方法添加测试。
C:构造空的TestSuite后通过void addTestSuite(Class testClass) 方法添加测试集。
打算把单元测试代码放在什么地方呢?
把它和被测试代码混在一起,这显然会照成混乱,因为单元测试代码是不会出现在最终产品中的。建议您分别为单元测试代码与被测试代码创建单独的目录,并保证测试代码和被测试代码使用相同的包名。这样既保证了代码的分离,同时还保证了查找的方便。
关于setup与teardown
a)不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
b)在setUp和tearDown中的代码不应该是与测试方法相关的,而应该是全局相关的。如:针对与测试方法都要用到的数据库链接等等。
c)当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
分享到:
相关推荐
总结,Junit单元测试对于确保代码的正确性和可维护性至关重要。Spring和Struts框架的测试涉及到特定的策略和工具,理解并熟练运用这些知识,可以提升开发效率,降低维护成本。通过深入学习本案例,你将能够自信地对...
Junit单元测试是Java开发中的一个关键组成部分,它允许开发者对代码进行小规模的验证,确保各个函数或方法按照预期工作。在这个“junit单元测试示例”中,我们将深入探讨如何配置和执行一个基本的JUnit测试。 首先...
总结一下,基于Spring的JUnit4单元测试涉及到以下几个关键点: 1. 使用`@RunWith(SpringRunner.class)`和`@ContextConfiguration`设置Spring测试环境。 2. `@Autowired`注解注入需要测试的bean。 3. 编写`@Test`注解...
总结来说,本文档提供的内容涵盖了单元测试的基本概念、Mock技术的运用、JUnit框架的详细讲解,以及Mockito、MockMVC和Mock.js等工具的使用。通过这些知识,开发者可以构建更健壮的测试体系,提升代码质量和软件工程...
### 用友NC框架中使用Junit单元测试的小技巧 #### 概述 在软件开发过程中,单元测试作为确保代码质量的重要手段之一,其地位不言而喻。而在基于用友NC框架进行开发时,合理地运用Junit进行单元测试能够极大地提升...
使用JUnit 对下列选择排序法进行测试。 public void select_sort (int a[]) { 1 int i, j, k, t, n; 2 n = a.length; 3 for (i = 0; i ; i++) { 4 k = i; 5 for (j = i + 1; j ; j++) { 6 if (a [j] [k...
Junit是Java编程语言中最广泛使用的单元测试框架,它提供了丰富的API和注解,使得编写和执行测试变得简单易行。本文将针对"Junit计算器测试"这一主题,详细讲解如何使用Junit来测试一个简单的计算器应用。 首先,让...
在实验总结中,报告总结了Junit单元测试的结果,包括测试的结论、测试的建议和测试的改进建议等。 本文档是关于Junit单元测试的详细报告,报告涵盖了Junit单元测试的所有方面,包括实验目的、实验环境、实验内容、...
总结一下,JUnit是Java单元测试的关键工具,通过它,开发者可以编写、组织和运行测试用例,确保代码的正确性、稳定性和可维护性。了解并熟练运用JUnit的各种功能,对于提升软件开发的效率和质量至关重要。
总结一下,JUnit4是一个强大的单元测试框架,它的注解驱动使得测试代码更简洁,断言机制便于检查代码行为,参数化测试、异常测试、分类和分组等功能则提高了测试的灵活性和覆盖率。通过合理使用JUnit4,开发者能够...
《深入理解Junit单元测试与相关工具包》 在软件开发过程中,单元测试是不可或缺的一环,它能够帮助我们确保代码的质量,及时发现并修复问题。Junit作为Java领域最常用的单元测试框架,极大地简化了测试工作。本资源...
这篇内容将深入探讨Android JUnit单元测试的基本实例,帮助开发者理解如何有效地利用它来验证应用程序的功能。 首先,我们需要了解Android JUnit的基本结构。一个简单的Android JUnit测试类通常会继承自`androidx....
总结来说,JUnit是Java开发中的关键工具,它简化了单元测试的编写和执行,帮助开发者发现和修复代码中的问题,从而提高软件质量。在进行单元测试时,应遵循最佳实践,确保测试的独立性、可读性和全面性,这样才能...
在Java世界中,**JUnit**是最广泛使用的单元测试框架。本篇将重点介绍如何利用**JUnit 4.5**进行单元测试,以及这个版本的一些特性。 ### JUnit简介 JUnit是一个开源的、基于Java的测试框架,由Ernst Leiss和Kent ...
JUnit单元测试的作用可以详细总结如下: 1. 提高代码质量:通过编写单元测试,开发者可以确保每个代码单元都按预期工作,有助于在开发早期发现并解决潜在的问题,从而提高代码的整体质量。 2. 减少回归错误:代码库...
以下是JUnit单元测试的知识点总结: 1. 什么是单元测试? 单元测试是指对软件的最小单元进行测试,以确保其正确性和稳定性。在Java开发中,单元测试通常是指对类或方法的测试。 2. 为什么要进行单元测试? 单元...
JUnit是Java编程语言中最流行的单元测试框架,它提供了丰富的断言方法和测试注解,使得编写和执行单元测试变得简单易行。本篇文章将深入探讨JUnit4的单元测试实例,帮助你更好地理解和应用这个工具。 一、JUnit4...
总结一下,使用Ant脚本编译并运行JUnit单元测试,以及生成测试报告,主要涉及以下几个关键点: 1. 定义Ant构建文件`build.xml`。 2. 配置类路径,包括源代码、测试代码和JUnit库。 3. 使用`javac`任务编译源代码和...