前些阶段也学习过junit,但一直无法正确运用在具体项目当中,现在开始索性拿起来,从0开始学习。
junit使用到的是4.4版本。(目前最新是4.6)。
以下是实例代码:
//Calculator.java 计算加减乘除
package com.test.junit4;
public class Calculator {
public int add(int a, int b){
return a + b;
}
public int minus(int a, int b){
return a - b;
}
public int multiply(int a, int b){
return a * b;
}
public int divide(int a, int b)throws Exception{
if(0 == b){
throw new Exception("除数不能为零!");
}
return a / b;
}
}
测试代码:
//CalculatorTest.java 测试代码
/*
*由于JDK5.0 注释的加入,在junit4.4当中加入了注释,来简化、实现之前版本的一些功能
*/
package com.test.junit4;
import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class CalculatorTest {
private Calculator cal;
@BeforeClass
public static void globalInit(){
System.out.println("globalInit");
}
@AfterClass
public static void globalDestroy(){
System.out.println("globalDestroy");
}
@Before
public void init(){
cal = new Calculator();
System.out.println("init invoked");
}
@After
public void destroy(){
System.out.println("destroy invoked");
}
@Test
public void testAdd(){
int result = cal.add(1, 2);
assertEquals(3 ,result);
}
@Test
public void testMinus(){
int result = cal.minus(1, 2);
assertEquals(-1, result);
}
@Test
public void testMultiply(){
int result = cal.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide(){
try{
int result = cal.divide(6, 5);
assertEquals(1, result);
}
catch(Exception e){
e.printStackTrace();
}
}
//期望测试方法中能够抛出Exception异常
@Test(expected = Exception.class)
public void testDivide2() throws Exception{
cal.divide(6, 0);
}
//期望测试方法运行时间在100毫秒以内,此方法中使用Thread.sleep(110)来故意延迟线程操作时间
@Test(timeout = 100)
public void testDivide3(){
try{
cal.divide(4, 2);
Thread.sleep(110);
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
3.2 一个具体例子 3.3 测试实现 3.4 探索竞争消费者模式 3.5 重构的作用 3.6 本章小结 第4章 Java EE测试 4.1 容器内测试与容器外测试的对比 4.2 容器内测试 4.3 Java命名和目录接口(JNDI) 4.4 Java数据库连接...
3.2 一个具体例子 3.3 测试实现 3.4 探索竞争消费者模式 3.5 重构的作用 3.6 本章小结 第4章 Java EE测试 4.1 容器内测试与容器外测试的对比 4.2 容器内测试 4.3 Java命名和目录接口(JNDI) 4.4 Java数据库连接...
5.5 版本3:第一个复杂度O(log N)的优化 5.6 版本4:第二次优化:避免重复验证 5.7 版本5:第三次优化:复杂度 O(1) 5.8 版本 6:第四次优化:缓存(Caching) 5.9 从故事中学到的 第6章 集成测试框架:脆弱之美 6.1. ...
一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven ...
本章通过一个简单的例子介绍了Maven的基本使用方法,包括创建项目、构建项目、管理依赖等。 #### 4. 定制一个Maven项目 **4.1 简介** 本章将详细介绍如何根据项目需求定制Maven项目。 **4.2 定义SimpleWeather项目...
##### 2.4 在第一个(或 N 个)失败后停止 (Stopping after the first (or N) failures) - 使用 `pytest --maxfail=N` 选项可以在出现前 N 个失败后停止测试的执行。 ##### 2.5 指定测试/选择测试 (Specifying ...
9. **Android 开源项目**:Android 的开源特性使得开发者可以自由地定制和扩展系统,例如,CyanogenMod 是一个著名的第三方 Android 系统,提供了更多自定义选项和优化。 10. **Android 的未来**:随着物联网和人工...
JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和管理业务流程。它的主要特点是轻量级和易于集成到现有的应用程序中。 **1.2 ...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
- **第一步:推入重构**:将SpringRoo生成的代码转换为普通的Java代码。 - **第二步:注解源代码清理**:移除与SpringRoo相关的注解和配置。 以上是对SpringRoo-ReferenceDocumentation 1.2.5.RELEASE的关键知识点...
**2.2 运行一个 EJB3 例子**: - 创建一个新的 Maven 项目,并添加必要的依赖(如 `javax.ejb` 和 `org.jboss.ejb-client`)。 - 编写一个简单的 Stateless Session Bean 示例,使用 `@Stateless` 注解。 **2.3 在...
第1章 ajax简介 1 1.1 web应用简史 1 1.2 浏览器历史 2 1.3 web应用的发展历程 3 1.3.1 cgi 4 1.3.2 applet 4 1.3.3 javascript 5 1.3.4 servlet、asp和php……哦,太多了! 6 1.3.5 flash 9 1.3.6 dhtml...
##### 2.2 运行一个EJB3例子 - 创建一个简单的EJB项目,并在JBoss AS中部署该项目以测试EJB 3.0功能。 - 示例代码可以包括基本的会话Bean或实体Bean。 ##### 2.3 熟悉JBoss的目录结构 - `bin`: 启动脚本和其他可...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
#### 第1章 JSP简介 - **1.1 什么是JSP** - JSP(JavaServer Pages)是一种基于Java技术的服务器端网页开发技术,它允许开发者在标准的HTML页面中嵌入Java代码,从而实现动态网页的功能。 - JSP将动态内容和静态...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...