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

junit4 @test DEMO

 
阅读更多
package com.isoftstone.ecc.junittest.service;

import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import java.lang.ArithmeticException;

import static org.junit.Assert.*;
//import static org.junit.Assert.assertEquals;
//import static org.junit.Assert.assertTrue;
//import static org.junit.Assert.assertFalse;
//import static org.junit.Assert.*;

public class Junit4Demo {
	
	@Before
	public void before(){
		System.out.println("before is executed once.");
	}
	
	@Test
	public void test1(){
		System.out.println("test1 is executed.");
	}
	
	@Test
	public void test2(){
		System.out.println("test2 is executed.");
	}
	
//	@Test
//	public int test3(){
//		System.out.println("test3 is executed.");
//		return 3;
//	}
	
	@Test(expected=ArithmeticException.class)
	public void test4(){
		System.out.println("test4 is executed");
		int i = 3/0;
	}
	
	@AfterClass
	public static void test5(){
		System.out.println("test5 @AfterClass:after class is executed once.");
	}
	
	@BeforeClass
	public static void test6(){
		System.out.println("test6 @BeforeClass: before class is executed once.");
	}
	
	@Test
	public void test7(){
		System.out.println("test7 is executed");
//		assert 0>8;
//		assert 0<8;
		int x = 10;
		assert x==10:"x==10 success";
//		assert x==100:"x==100 failed";
	}
	@Test
	public void test8(){
		System.out.println("test8 is executed");
//		assertEquals("target 与 result 不相等,中断测试方法,输出 message", "target", "result");
		boolean b = Boolean.TRUE;
		assertTrue("Result 为true ",b);
//		assertFalse("Result false ", b);
		Object obj = null;
//		assertNull(obj);
//		assertNull("obj is not null ", obj);
//		assertNotNull("obj is null", obj);
//		String str1 = "str1";
//		String str2 = new String("str1");
//		assertSame("Traget 与 result  不指向/指向  同一内存地址(实例)", str1, str2);
//		fail("中断测试方法,输出 message");
	}
}

/**
 * DbTestJunit4.java
 * com.isoftstone.ecc.junittest.service
 *
 * Function: TODO 
 *
 *   ver     date      		author
 * ──────────────────────────────────
 *   		 Aug 31, 2011 		程仁银
 *
 * Copyright (c) 2011,  All Rights Reserved.
*/

package com.isoftstone.ecc.junittest.service;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
// assert.class static class or method
import static org.junit.Assert.assertEquals;

import org.easymock.EasyMock;
import org.easymock.IMocksControl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * ClassName:DbTestJunit4
 * Project: 
 * Company: isoftStone
 *
 * @author   程仁银
 * @version  
 * @since    Ver 1.1
 * @Date	 Aug 31, 2011		12:09:25 PM
 * @see 	 
 */
public class DbTestJunit4 {
	private DbTest dbTest ;
	@Before
	public void init(){
		//重新初始化对象
		//EasyMock.reset(DbTest.class);
		dbTest = new DbTest();
	}
	@After
	public void detroy(){
		dbTest = null;
	}
	@Test
	public void getCar()throws SQLException{
		//	测试数据
		int id = 18;
		
		//createMock:创建Mock对象 - 模拟对象之间有依赖关系
		IMocksControl control = EasyMock.createControl();
		
		//	创建多个Mock对象时通过IMocksControl管理
		Connection conn = control.createMock(Connection.class);
		PreparedStatement pst = control.createMock(PreparedStatement.class);
		ResultSet rs = control.createMock(ResultSet.class);
		
		//expect:录制信息,即设定Mock对象的预期行为和输出   
		//	所有Mock对象需要执行的方法都必须录制
		String sql = "select * from lock_info where ID = ? ";
		EasyMock.expect(conn.prepareStatement(sql)).andReturn(pst).times(1);
		pst.setInt(1,id);
		EasyMock.expect(pst.executeQuery()).andReturn(rs);
		EasyMock.expect(rs.next()).andReturn(true);
		
		//replay:录制完成,切换回放状态
		control.replay();
		
		//调用实际的方法
		String res = dbTest.getCar(new DBconnect().getConectionByJdbc(),id);
		System.out.println("调用实际的方法 res = " + res);
		String expect = "success";
		assertEquals(res, expect);
		
		//verify:验证
		EasyMock.verify();
	}
}
分享到:
评论

相关推荐

    junit测试小demo

    在这个名为"junit测试小demo"的压缩包文件中,我们可以预期它包含了一些关于如何使用Junit进行单元测试的示例代码或教程。 首先,让我们来理解一下Junit的基本概念。Junit是一个开源项目,由Eclipse基金会维护,...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    这些方法在JUnit4中被更灵活的`@Before`和`@After`注解取代。 在`JUnit & 简单Junit使用代码`这个文件中,可能包含了一个或多个示例,展示了如何创建测试类、编写测试方法、使用断言以及设置测试环境。例如,可能有...

    Junit4测试总结

    在提供的`Junit4Demo`压缩包中,包含了使用JUnit4进行单元测试的示例代码,你可以参考学习,进一步理解JUnit4的使用方式。 总结,JUnit4作为Java单元测试的核心工具,其强大的功能和易用性使得它在软件开发中扮演着...

    android studio junit测试 demo

    这个类通常位于`app/src/test/java`目录下,并且需要继承自`androidx.test.ext.junit.runners.AndroidJUnit4`,这样就可以在Android环境中运行JUnit测试。例如,如果你要测试名为`MainActivity`的Activity,你可以...

    ANT學習筆記(一)——ANT 結合JUNIT4學習DEMO

    **ANT学习笔记(一)——ANT结合JUNIT4学习DEMO** ANT,全称为Apache Ant,是一个基于Java的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。它通过XML配置文件来定义任务,使得项目构建过程可配置且可...

    springboot整合junit测试用例demo

    import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api....

    junit实例demo

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

    JUnit 4 Demo

    在异常测试方面,JUnit 4提供了`@Test(expected = SomeException.class)`注解,用于检查方法是否抛出了预期的异常。如果方法没有抛出异常或抛出的是其他类型的异常,测试将失败。 除了基本的断言,JUnit 4还引入了...

    junit测试demo

    在这个“junit测试demo”中,包含了两种类型的测试:纯Java和基于SSH(Spring、Struts和Hibernate)的应用程序的测试。下面将详细介绍这两个方面的内容。 首先,纯Java的JUnit测试主要涉及以下几个知识点: 1. **...

    Junit4Demo:Junit4 演示

    junit4 使用总结 @Test @Test(timeout=毫秒),@Test(expected=异常类) @Ignore @RunWith @BeforeCalss @AfterClass @Before @After 测试套件@RunWith(Suite.class) 参数化设置@RunWith(Parameterized.class)

    Junit

    而“junit4_demo01”则涉及到了JUnit 4,这是一个重大更新,引入了更简洁的API,比如不需要继承TestCase,而是直接使用@Test注解标记测试方法: ```java import org.junit.Test; import static org.junit.Assert....

    junit-demo.zip

    4. **异常测试**:使用`@Test(expected = Exception.class)`来检查代码是否在预期情况下抛出异常。 5. **设置和清理方法**:`@Before`和`@After`注解的方法会在每个测试方法执行前或后运行,通常用于初始化和清理...

    spring+junit4

    JUnit4提供了一系列的注解,如`@Test`表示一个测试方法,`@Expected`用于指定预期的异常,`@Before`和`@After`分别用于定义测试前后的准备工作和清理工作。例如: ```java @Test public void testMyService() { ...

    Junit4测试使例

    通过名为`junit4Demo`的压缩包文件,我们可以看到一系列的JUnit4测试示例,包括基础的断言测试、异常测试、超时测试、参数化测试等。通过对这些示例的实践,开发者可以深入理解JUnit4的各种用法,并将其应用于日常的...

    Junit简介和扩展

    #### JUnit4之@Test - **@Test**:用于标记测试方法。 - **expected属性**:指定预期抛出的异常类型。 - **timeout属性**:设置方法执行的最大时间。 #### JUnit4之@Ignore - **@Ignore**:跳过指定的测试方法或...

    Java-Test-demo-JUnit-5:Java测试-演示(JUnit 5)

    本项目"Java-Test-demo-JUnit-5"聚焦于 Java 测试的实践,特别是使用 JUnit 5 进行单元测试的方法。 JUnit 5 是 JUnit 的最新版本,它引入了许多新特性,使得测试更加灵活和强大。以下是一些关键知识点: 1. **...

    android JUnit demo

    "android JUnit demo" 是一个基于Android 2.2(API Level 8)的示例项目,它展示了如何在Android环境中使用JUnit进行应用程序的单元测试。在这个demo中,我们可以看到两个主要的组成部分:`Spinner` 和 `SpinnerTest...

    junit-demo-源码.rar

    《深入解析JUnit测试框架——基于junit-demo-源码》 JUnit是一款广泛应用于Java编程语言中的单元测试框架,它为开发者提供了简洁、高效的测试工具,使得代码的质量得到了显著提升。通过对"junit-demo-源码"的分析,...

    Spring整合Junit框架进行单元测试Demo

    接下来,我们要创建一个测试类,该类需要继承Spring的`AbstractJUnit4SpringContextTests`或`SpringJUnit4ClassRunner`。前者适用于Spring 3.x,后者适用于Spring 4.x及更高版本。这些基类会帮助我们加载Spring上...

Global site tag (gtag.js) - Google Analytics