`

初识JUnit

    博客分类:
  • java
阅读更多
package com.hugui.juint4;

public class T {

	public int add(int x, int y){
		return x + y;
	}
	
	public int divide(int x, int y){
		return x/y;
	}
	
}



//Errors表示程序出错,Failures表示结果测试出错
//运行多个测试

package com.hugui.juint4.test;

//静态引入(可以把那个类里面的静态方法引入进来),以前是import org.junit.*  但1.5之后用下面这种新的语法
import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.hamcrest.Matchers.*;
import com.hugui.juint4.T;

public class TTest {
	
	/*
	 * 1.	@Test: 测试方法
		a)	(expected=XXException.class)
		b)	(timeout=xxx)
		2.	@Ignore: 被忽略的测试方法
		3.	@Before: 每一个测试方法之前运行
		4.	@After: 每一个测试方法之后运行
		5.	@BeforeClass: 所有测试开始之前运行
		6.	@AfterClass: 所有测试结束之后运行
	 * 
	 */
	
	//@BeforeClass: 所有测试开始之前运行,并且方法必须是static的
	@BeforeClass
	public static void beforeClass(){
		System.out.println("beforClass");
	}
	//@AfterClass: 所有测试结束之后运行,并且方法必须是static的
	@AfterClass
	public static void afterClass(){
		System.out.println("afterClass");
	}
	
	//@Before: 每一个测试方法之前运行
	@Before
	public void before(){
		System.out.println("before");
	}

	//加上Test注解,表示这是,能让jUnit运行时,会帮你一块儿运行
	@Test
	public void testAdd() {
//		/fail("Not yet implemented");
		int z = new T().add(3, 4);
		//判断结果是否是正确的
		assertEquals(7, z);
		
		assertTrue(z>3);
		
		//"z is too small"用来起提示作用
		assertTrue("z is too small", z >3);
		
		assertThat(z, is(7));
		//z要满足allOf里面的所有条件,greaterThan()表示比..大,lessThan()表示比..大
		assertThat(z, allOf(greaterThan(3), lessThan(10)));
		//是什么值都让他通过
		assertThat(z, anything());
		//z是不是接近7.0,误差不超过0.3,但是没有没有编译通过
		//assertThat(z, closeTo(7.0, 0.3));
		/*
		assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
		assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
		assertThat( n, anything() );
		assertThat( str, is( "hugui" ) );
		assertThat( str, not( "hugui" ) );
		
		b)	assertThat( str, containsString( "hugui" ) );
		assertThat( str, endsWith("hugui" ) ); 
		assertThat( str, startsWith( "hugui" ) ); 
		assertThat( n, equalTo( nExpected ) ); 
		assertThat( str, equalToIgnoringCase( "hugui" ) ); 
		assertThat( str, equalToIgnoringWhiteSpace( "hugui" ) );
		
		c)	assertThat( d, closeTo( 3.0, 0.3 ) );
		assertThat( d, greaterThan(3.0) );
		assertThat( d, lessThan (10.0) );
		assertThat( d, greaterThanOrEqualTo (5.0) );
		assertThat( d, lessThanOrEqualTo (16.0) );
		
		d)	assertThat( map, hasEntry( "hugui", "hugui" ) );
		assertThat( iterable, hasItem ( "hugui" ) );
		assertThat( map, hasKey ( "hugui" ) );
		assertThat( map, hasValue ( "hugui" ) );
		
		*/
		
	}
	
	//expected表示不活什么异常,timeout表示下面代码要在多少时间内完成
	@Test(expected=java.lang.ArithmeticException.class, timeout=100)
	public void testDivide(){
		int z = new T().divide(8, 2);
		assertThat(z, is(4));
	}
	
	//@After: 每一个测试方法之后运行
	@After
	public void after(){
		System.out.println("after");
	}

}

分享到:
评论

相关推荐

    JUnit--单元测试工具

    初识JUnit单元测试框架 单元测试工具 示例:在Eclipse中使用JUnit4进行单元测试 JUnit 框架 JUnit几个核心类及接口 Assert 超类所提供的8个核心方法 TestCase提供了10个自己的方法 JUnit4.X 版本与以前版本的区别

    初识Spring

    【初识Spring】 Spring框架是Java企业级应用开发中的核心框架,它为开发者提供了一个全面的基础设施,用于创建稳定、高性能的应用程序。Spring的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程...

    初识软件工程

    【初识软件工程】 软件工程是一门广泛的学科,它涵盖了软件的开发、维护和管理,旨在采用工程化的方法确保软件产品的质量和效率。本实验旨在帮助初学者了解软件工程的基本概念,通过网络资源的检索和学习,建立起对...

    Struts2之Servlet API及单元测试初识案例struts005

    在Struts2中,可以使用JUnit进行Action的单元测试。测试主要关注以下几个方面: 1. **Action的执行逻辑**:测试Action的`execute`方法是否能正确地返回期望的结果代码(如SUCCESS或ERROR)。 2. **模型验证**:如果...

    初识easyMack

    【初识EasyMock】 EasyMock是一款强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为。这个工具在软件开发过程中起到了至关重要的作用,因为它可以帮助程序员在不依赖实际环境的情况下测试代码,...

    Robotium环境搭建和初识

    Robotium的测试框架基于Android的InstrumentationTestCase,并且基于JUnit实现。由于测试脚本和目标应用运行在同一个进程中,Robotium无法实现跨进程通信。Robotium通过Instrumentation的InputManager向目标应用注入...

    Java开发学习(一)----初识Spring及其核心概念.doc

    5. **Test层**:Spring支持集成JUnit进行单元测试和集成测试,简化测试流程。 接下来,我们聚焦Spring的核心概念——IOC(控制反转)和DI(依赖注入)。 在传统的软件开发中,对象通常自行创建依赖的对象,导致高...

    初识KatalonStudio自动化测试工具

    【初识KatalonStudio自动化测试工具】 在自动化测试领域,选择合适的工具至关重要。Selenium和Appium是两款被广泛使用的自动化测试工具。Selenium专用于Web自动化测试,以其开源、免费、多语言支持和录制功能而受到...

    《移动应用软件测试项目教程》读书笔记模板.pptx

    任务二:初探基于 JUnit 的 Android 测试框架,学习如何使用 JUnit 框架来测试 Android 应用。 任务三: Android 单元测试框架——Instrumentation,学习如何使用 Instrumentation 框架来测试 Android 应用。 项目...

    Ant in Action

    3. **测试**:通过junit任务执行JUnit测试,可以生成测试报告,并对失败的测试进行处理。 4. **依赖管理**:Ant可以帮助管理项目依赖,通过path元素引用外部JAR文件或构建路径。 5. **清理**:clean任务用于删除...

    Beginning Android Application Development

    最后,书籍可能会介绍如何调试应用,使用Logcat跟踪日志,以及使用JUnit和Espresso进行单元测试和UI测试,这些都是保证代码质量和优化应用体验的关键步骤。 总的来说,《初识Android应用开发》是一本全面介绍...

    Beginning Google Web Toolkit From Novice to Professional

    11. **GWT测试**:GWT提供了JUnit支持,可以在服务器端和客户端进行单元测试,确保代码质量。 12. **GWT与其他技术集成**:GWT可以与其他技术如GAE(Google App Engine)、GWT-RPC、GWT-EXT、SmartGWT等进行整合,...

    JAVA程序开发大全---上半部分

    第1章 初识MyEclipse 1 1.1 MyEclipse简介 1 1.2 MyEclipse的安装 1 1.2.1 JDK的安装与配置 1 1.2.2 MyEclipse 7.0的安装和运行 4 1.3 获取和阅读MyEclipse帮助文档 5 1.4 本章小结 5 第2章 MyEclipse集成开发环境的...

    data_mining:一些数据挖掘算法的实现

    - JUnit:单元测试框架。 - CSV或JSON库:用于数据输入/输出。 通过研究这些代码,开发者可以了解如何在实际项目中应用数据挖掘算法,也可以根据需求修改或扩展算法。同时,对于初学者来说,这是一个很好的学习资源...

    IntelliJ IDEA 使用教程

    本教程旨在提供一个全面的指南,帮助用户从初识到精通这款强大的工具。 首先,我们来了解一下IntelliJ IDEA的基础操作。启动IDE后,你可以创建新项目或打开现有项目。在创建新项目时,可以选择各种项目类型,如Java...

    play1的文档资料

    此外,Play框架支持多种数据库,如H2、MySQL等,并且集成了JUnit进行单元测试。 2. **Play框架的Hotswap功能** Hotswap功能是Play的一个亮点,它允许开发者在运行时修改代码并立即看到效果,无需重新启动服务器。...

    springboot代码

    这些代码可能是按照课程章节进行组织的,例如 "01-课堂代码" 可能是课程的第一部分,包含了初识 Spring Boot、环境配置、起步依赖等基础内容。 Spring Boot 的核心特性包括: 1. **起步依赖**:通过“起步依赖”...

    docs-源码.rar

    7. **单元测试**:源码可能包含测试代码,如JUnit测试(Java)或pytest(Python),用于验证代码的正确性。 8. **许可证信息**:每个开源项目通常都会包含一个`LICENSE`文件,声明代码的许可协议,如MIT、Apache ...

Global site tag (gtag.js) - Google Analytics