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进行单元测试的示例代码或教程。 首先,让我们来理解一下Junit的基本概念。Junit是一个开源项目,由Eclipse基金会维护,...
这些方法在JUnit4中被更灵活的`@Before`和`@After`注解取代。 在`JUnit & 简单Junit使用代码`这个文件中,可能包含了一个或多个示例,展示了如何创建测试类、编写测试方法、使用断言以及设置测试环境。例如,可能有...
在提供的`Junit4Demo`压缩包中,包含了使用JUnit4进行单元测试的示例代码,你可以参考学习,进一步理解JUnit4的使用方式。 总结,JUnit4作为Java单元测试的核心工具,其强大的功能和易用性使得它在软件开发中扮演着...
这个类通常位于`app/src/test/java`目录下,并且需要继承自`androidx.test.ext.junit.runners.AndroidJUnit4`,这样就可以在Android环境中运行JUnit测试。例如,如果你要测试名为`MainActivity`的Activity,你可以...
**ANT学习笔记(一)——ANT结合JUNIT4学习DEMO** ANT,全称为Apache Ant,是一个基于Java的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。它通过XML配置文件来定义任务,使得项目构建过程可配置且可...
在这个“junit实例demo”中,我们将会深入理解JUnit的工作原理及其核心特性。 1. **JUnit简介** JUnit是开源的、基于Java的测试框架,它遵循XUnit测试框架的设计模式。它简化了对Java代码进行单元测试的过程,通过...
在异常测试方面,JUnit 4提供了`@Test(expected = SomeException.class)`注解,用于检查方法是否抛出了预期的异常。如果方法没有抛出异常或抛出的是其他类型的异常,测试将失败。 除了基本的断言,JUnit 4还引入了...
在这个“junit测试demo”中,包含了两种类型的测试:纯Java和基于SSH(Spring、Struts和Hibernate)的应用程序的测试。下面将详细介绍这两个方面的内容。 首先,纯Java的JUnit测试主要涉及以下几个知识点: 1. **...
junit4 使用总结 @Test @Test(timeout=毫秒),@Test(expected=异常类) @Ignore @RunWith @BeforeCalss @AfterClass @Before @After 测试套件@RunWith(Suite.class) 参数化设置@RunWith(Parameterized.class)
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....
而“junit4_demo01”则涉及到了JUnit 4,这是一个重大更新,引入了更简洁的API,比如不需要继承TestCase,而是直接使用@Test注解标记测试方法: ```java import org.junit.Test; import static org.junit.Assert....
4. **异常测试**:使用`@Test(expected = Exception.class)`来检查代码是否在预期情况下抛出异常。 5. **设置和清理方法**:`@Before`和`@After`注解的方法会在每个测试方法执行前或后运行,通常用于初始化和清理...
JUnit4提供了一系列的注解,如`@Test`表示一个测试方法,`@Expected`用于指定预期的异常,`@Before`和`@After`分别用于定义测试前后的准备工作和清理工作。例如: ```java @Test public void testMyService() { ...
通过名为`junit4Demo`的压缩包文件,我们可以看到一系列的JUnit4测试示例,包括基础的断言测试、异常测试、超时测试、参数化测试等。通过对这些示例的实践,开发者可以深入理解JUnit4的各种用法,并将其应用于日常的...
#### JUnit4之@Test - **@Test**:用于标记测试方法。 - **expected属性**:指定预期抛出的异常类型。 - **timeout属性**:设置方法执行的最大时间。 #### JUnit4之@Ignore - **@Ignore**:跳过指定的测试方法或...
本项目"Java-Test-demo-JUnit-5"聚焦于 Java 测试的实践,特别是使用 JUnit 5 进行单元测试的方法。 JUnit 5 是 JUnit 的最新版本,它引入了许多新特性,使得测试更加灵活和强大。以下是一些关键知识点: 1. **...
"android JUnit demo" 是一个基于Android 2.2(API Level 8)的示例项目,它展示了如何在Android环境中使用JUnit进行应用程序的单元测试。在这个demo中,我们可以看到两个主要的组成部分:`Spinner` 和 `SpinnerTest...
《深入解析JUnit测试框架——基于junit-demo-源码》 JUnit是一款广泛应用于Java编程语言中的单元测试框架,它为开发者提供了简洁、高效的测试工具,使得代码的质量得到了显著提升。通过对"junit-demo-源码"的分析,...
接下来,我们要创建一个测试类,该类需要继承Spring的`AbstractJUnit4SpringContextTests`或`SpringJUnit4ClassRunner`。前者适用于Spring 3.x,后者适用于Spring 4.x及更高版本。这些基类会帮助我们加载Spring上...