`
dtrex
  • 浏览: 139591 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

junit实例

阅读更多

Tutorial 1

 

 

This tutorial introduces the basic annotation supports that implemented in Junit 4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import
 org.junit.*
;

import
 static
 org.junit
.Assert
.*;

import
 java.util.*
;

 
/**
 * @author mkyong
 *
 */

public
 class
 JunitTest1 {

 
    private
 Collection
 collection;

 
    @BeforeClass
    public
 static
 void
 oneTimeSetUp(
)
 {

        // one-time initialization code   

    	System
.out
.println
(
"@BeforeClass - oneTimeSetUp"
)
;

    }

 
    @AfterClass
    public
 static
 void
 oneTimeTearDown(
)
 {

        // one-time cleanup code

    	System
.out
.println
(
"@AfterClass - oneTimeTearDown"
)
;

    }

 
    @Before
    public
 void
 setUp(
)
 {

        collection =
 new
 ArrayList
(
)
;

        System
.out
.println
(
"@Before - setUp"
)
;

    }

 
    @After
    public
 void
 tearDown(
)
 {

        collection.clear
(
)
;

        System
.out
.println
(
"@After - tearDown"
)
;

    }

 
    @Test
    public
 void
 testEmptyCollection(
)
 {

        assertTrue(
collection.isEmpty
(
)
)
;

        System
.out
.println
(
"@Test - testEmptyCollection"
)
;

    }

 
    @Test
    public
 void
 testOneItemCollection(
)
 {

        collection.add
(
"itemA"
)
;

        assertEquals(
1
, collection.size
(
)
)
;

        System
.out
.println
(
"@Test - testOneItemCollection"
)
;

    }

}

Result

@BeforeClass – oneTimeSetUp
@Before – setUp
@Test – testEmptyCollection
@After – tearDown
@Before – setUp
@Test – testOneItemCollection
@After – tearDown
@AfterClass – oneTimeTearDown

In JUnit 4, we have to declare “@BeforeClass” and “@AfterClass” method as static method.

 

 

 

Tutorial 2

The “exception testing” means what exception throw from the unit test.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import
 org.junit.*
;

 
/**
 * JUnit Expected Exception Test
 * @author mkyong
 *
 */

public
 class
 JunitTest2 {

 
 
	@Test(
expected =
 ArithmeticException
.class
)
  
	public
 void
 divisionWithException(
)
 {
  
	  int
 i =
 1
/
0
;

	}
  
 
}

Result

Unit test marked success

 

 

Tutorial 3

 

 

The “Ignored” means whether it should ignore the unit test.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import
 org.junit.*
;

 
/**
 * JUnit Ignore Test
 * @author mkyong
 *
 */

public
 class
 JunitTest3 {

 
	@Ignore(
"Not Ready to Run"
)
  
	@Test
	public
 void
 divisionWithException(
)
 {
  
	  System
.out
.println
(
"Method is not ready yet"
)
;

	}
  
 
}

Result

unit test ignored

 

 

Tutorial 4

 

The “Time Test” means if an unit test takes longer than the specified number of milliseconds to run, the test will terminated and mark as fails.

import org.junit.*;
 
/**
 * JUnit TimeOut Test
 * @author mkyong
 *
 */
public class JunitTest4 {
 
	@Test(timeout = 1000)  
	public void infinity() {  
		while (true);  
	}  
 
}

Result

java.lang.Exception: test timed out after 1000 milliseconds

 

 

Tutorial 5

 

The “Suite Test” means bundle a few unit test and run it together.

The “@RunWith” and “@Suite” are use to run the suite test. The below class means both unit test “JunitTest1” and “JunitTest2” run together after JunitTest5 executed. All the declaration is define inside the class.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import
 org.junit.runner.RunWith
;

import
 org.junit.runners.Suite
;

 
/**
 * JUnit Suite Test
 * @author mkyong
 *
 */

 
@RunWith(
Suite.class
)

@Suite.SuiteClasses
(
{

        JunitTest1.class
,
        JunitTest2.class

}
)

public
 class
 JunitTest5 {

}

Result

@BeforeClass – oneTimeSetUp
@Before – setUp
@Test – testEmptyCollection
@After – tearDown
@Before – setUp
@Test – testOneItemCollection
@After – tearDown
@AfterClass – oneTimeTearDown

P.S Result is from JunitTest1 and JunitTest2 unit test

 

 

 

Tutorial6

 

The “Parameterized Test” means vary parameter value for unit test. The “@RunWith” and “@Parameter” is use to provide parameter value for unit test, @Parameters have to return List[], and the parameter will pass into class constructor as argument.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import
 java.util.Arrays
;

import
 java.util.Collection
;

 
import
 org.junit.Test
;

import
 org.junit.runner.RunWith
;

import
 org.junit.runners.Parameterized
;

import
 org.junit.runners.Parameterized.Parameters
;

 
/**
 * JUnit Parameterized Test
 * @author mkyong
 *
 */

@RunWith(
value =
 Parameterized.class
)

public
 class
 JunitTest6 {

 
	 private
 int
 number;

 
	 public
 JunitTest6(
int
 number)
 {

	    this
.number
 =
 number;

	 }

 
	 @Parameters
	 public
 static
 Collection<
Object[
]
>
 data(
)
 {

	   Object
[
]
[
]
 data =
 new
 Object
[
]
[
]
 {
 {
 1
 }
, {
 2
 }
, {
 3
 }
, {
 4
 }
 }
;

	   return
 Arrays
.asList
(
data)
;

	 }

 
	 @Test
	 public
 void
 pushTest(
)
 {

	   System
.out
.println
(
"Parameterized Number is : "
 +
 number)
;

	 }

 
 
}

Result

Parameterized Number is : 1
Parameterized Number is : 2
Parameterized Number is : 3
Parameterized Number is : 4

It has many limitations here; we have to follow the “JUnit” way to declare the parameter, and the parameter has to pass into constructor in order to initialize the class member as parameter value for testing. The return type of parameter class is “List []”, data has been limited to String or a primitive value for testing.

分享到:
评论

相关推荐

    Junit实例_一个Junit的实例_

    在Java编程领域,JUnit是一个非常重要...总的来说,通过这个Junit实例,我们可以学习到如何使用JUnit进行单元测试,理解测试驱动开发(TDD)的重要性,以及如何编写和组织测试用例。这对于提高代码质量和维护性至关重要。

    Junit实例图解,Junit快速入门

    《Junit实例图解:快速掌握单元测试框架》 Junit是Java开发中广泛使用的单元测试框架,它为开发者提供了一种便捷的方式来编写和执行针对单个代码单元的测试。本文将通过实例图解的方式,逐步介绍如何在Eclipse环境...

    junit 实例 单元测试实例

    junit是java进行单元测试最成熟的一个框架,这个junittest工程里以实例的方式,介绍了怎样编写测试方法。包含三个测试方法,Math函数的测试,堆栈Stack的测试,用户User类的测试。导入后如果没有引入junit库,记得在...

    junit实例demo

    在这个“junit实例demo”中,我们将会深入理解JUnit的工作原理及其核心特性。 1. **JUnit简介** JUnit是开源的、基于Java的测试框架,它遵循XUnit测试框架的设计模式。它简化了对Java代码进行单元测试的过程,通过...

    junit_eclipse实例

    【标题】:“junit_eclipse实例”是一个关于在Eclipse集成开发环境中运用JUnit进行单元测试的实战案例。这个实例小巧易用,无需额外配置其他库,对于初学者来说,是快速掌握JUnit单元测试的绝佳起点。 【描述】:...

    maven+spring+mybatis+junit实例

    在本实例中,JUnit将用于测试业务逻辑和数据访问层的正确性,确保每个函数按预期工作。 在`first_maven_project`中,开发者可能已经创建了一个简单的Java Web应用,其中包括以下组成部分: 1. **Model** - 代表...

    JUnit4的实例代码

    在本文中,我们将深入探讨JUnit4的一些核心概念、特性以及如何通过实例代码进行使用。 首先,JUnit4引入了注解(Annotations)的概念,这是对传统基于接口的测试模式的重大改进。例如,`@Test`注解标记测试方法,`@...

    SpringBoot整合Junit实例过程解析

    "SpringBoot整合Junit实例过程解析" 本文主要介绍了SpringBoot整合Junit实例过程解析,通过示例代码对大家的学习或者工作具有一定的参考学习价值。 一、SpringBoot为什么要整合Junit? SpringBoot整合了Junit后,...

    junit testsuite 编写实例

    初次写testsuite会遇到“NO runnable methods”,添加@Test也没有解决问题,看了多个文档实例,终于解决了这个问题,愿意跟大家一起分享,添加了资源分2分,迫于我去下载资源跟我要分啊。java源代码。

    JUnit教程工程代码实例+PDF下载.zip

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复执行的测试用例,以验证代码的正确性。JUnit提供了注解(Annotations)如@Test、@Before和@After等,使得编写测试变得简单且直观。下面是...

    JUnit_完整教程_基础_实例

    ### JUnit 完整教程:基础知识与实例详解 #### 一、JUnit 概述与重要性 JUnit 是一款广泛应用于 Java 开发环境下的单元测试框架。它的设计初衷是为了简化单元测试过程,帮助开发者更容易地编写出高质量的代码。在...

    JUnit单元测试框架 张明生PPT课件.pptx

    JUnit 实例中,Computer 类是一个简单的计算器类,具有 add、minus、multiply 和 divide 四个方法。测试类 TestComputer 继承 TestCase 类,编写测试方法 testAdd、testMinus、testMultiply 和 testDivide,使用 ...

    android-junit.pdf

    #### 三、JUnit实例分析 接下来,我们将通过一个简单的示例来具体分析 JUnit 如何应用于 Android 单元测试。 **示例代码**: ```java public class SampleCalculator { public int add(int augend, int addend) ...

    ant+junit程序小实例(绝对可以运行)

    在这个"ant+junit程序小实例"中,我们可以预期包含以下内容: 1. `build.xml` 文件:这是Ant的构建文件,其中会定义如何编译项目、运行JUnit测试并处理结果。它可能包含了`&lt;project&gt;`、`&lt;target&gt;`、`&lt;property&gt;`、`...

    单元测试利器 JUnit 4 完整实例图解

    单元测试利器 JUnit 4 完整实例图解 做测试的必看的文档 希望对您有帮助

    Junit4的小实例程序

    这个"Junit4的小实例程序"包含了一些基础的JUnit4测试示例,帮助初学者理解和掌握如何在实际项目中应用JUnit进行测试。 首先,我们需要了解JUnit4的基本结构。一个JUnit4测试类通常会继承`org.junit.Test`注解的类...

    eclipse中junit测试实例

    在提供的压缩包“JUNIT测试实例”中,可能包含了详细的文档和源码示例,你可以参考这些材料进一步学习如何在Eclipse中编写和运行Junit测试,理解测试用例的编写方法,以及如何通过测试驱动开发(TDD)提升代码质量。...

    Junit 单元测试完整案例

    【Junit单元测试完整案例】深入解析 在软件开发中,单元测试是验证代码功能是否正确、独立单元是否按预期工作的关键步骤。Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例...

    软件测试中Junit单元测试实例

    上下文时间软件测试中Junit单元测试实例在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中,要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是...

Global site tag (gtag.js) - Google Analytics