Java开发03---Mockito简介
来源:互联网 发布:淘宝最红小模特小女孩 编辑:程序博客网 时间:2024/05/18 20:47
1 安装Mockito
1.1 Mockito主页https://code.google.com/p/mockito/
1.2 在这里下载mockito-all-1.9.5.jar,在这里https://code.google.com/p/mockito/downloads/detail?name=mockito-all-1.9.5.jar&can=2&q=
1.3 配置/etc/environment,在这里将修改CLASSPATH,成为:CLASSPATH=.:/usr/lib/jvm/java-6-sum/lib:/usr/local/lib/junit/hamcrest-core-1.3.jar:/usr/local/lib/junit/junit-4.11.jar:/usr/local/lib/java-lib/mockito-all-1.9.5.jar
2. 测试Mockito
2.1 例子在此http://blog.iamzsx.me/show.html?id=118001
2.3 这个例子在p7目录,仅仅用于说明mockito,没有其他含义。
2.4 源代码RandomUtil.java
package com.cere;import java.util.Random;public class RandomUtil{ private final static Random DEFAULT_RANDOM = new Random(); public static int randomSelect(int[] weights){ return randomSelect(DEFAULT_RANDOM, weights); } public static int randomSelect(Random r, int[] weights){ if (weights == null || weights.length == 0){ throw new IllegalArgumentException("weights must not be an empty arrary"); } int s = 0; for(int i:weights){ s += i; } int target = r.nextInt(s); System.out.printf("target = %d\n", target); int accumulator = 0; for(int i = 0; i < weights.length; i++){ System.out.printf("\ni = %d\n", i); accumulator += weights[i]; System.out.printf("accumulator = %d\n", accumulator); if (accumulator > target){ System.out.printf("return i = %d\n", i); return i; } } System.out.printf("return 0\n"); return 0; } public static void main(String[] args){ int[] expected = new int[] {0, 0, 1, 2, 4, 4}; randomSelect(expected); }}
2.5 源代码TestRandomUtil.java
package com.cere;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.when;import java.util.Random;import org.junit.Assert;import org.junit.Test;public class TestRandomUtil{ @Test public void testSelect(){ int[] weights = {2,1,3,0,4}; int s = 0; for(int i:weights){s += i;} int[] expected = new int[] {0, 0, 1, 2, 2, 2, 4, 4, 4, 4}; for(int i = 0; i < s; i++){ Random r = mock(Random.class); when(r.nextInt(s)).thenReturn(i); Assert.assertEquals(expected[i], RandomUtil.randomSelect(r, weights)); } }}
2.6 编译:brian@brian-laptop:~/work/ifi/devsvn/hdp-train/class-5/p7$ javac -d ./classes/ src/*.java
2.7 执行1:
cd classes;
brian@brian-laptop:~/work/ifi/devsvn/hdp-train/class-5/p7/classes$ java com.cere.RandomUtil
2.8 执行2:
cd classes;
brian@brian-laptop:~/work/ifi/devsvn/hdp-train/class-5/p7/classes$ java org.junit.runner.JUnitCore com.cere.TestRandomUtil
这个是执行测试的过程。
- Java开发03---Mockito简介
- Mockito 简介
- Mockito一个用于Java开发的伟大的模拟框架
- Mockito 单元测试简介以及Stub
- Using mockito in java
- Java mock工具-mockito
- Java测试包Mockito
- Mockito java doc
- java mock-Mockito
- Mockito
- mockito
- Mockito
- Mockito
- mockito
- Mockito
- Mockito
- Mockito
- Mockito
- 使用 F12 工具控制台查看错误和状态
- 6410之点其他的灯,让其闪烁
- lua学习笔记3之数组与结构
- iOS开发之Objective-C与JavaScript的交互
- hdu-4501-小明系列故事——买年货(四维背包)
- Java开发03---Mockito简介
- 第八节 CSS学习--创建CSS
- android ListView的OnItemClickListener事件被其内部Button点击事件屏蔽的解决方法
- 必须使用【初始化列表】初始化数据成员的情况
- [DBNETLIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问 数据库错误
- Android AIDL使用详解
- android WebView将新浪天气为我所用 ------>仅供娱乐(一个android webview 执行js的简单框架)
- cci-Q3.2 设计栈可以返回最小值
- JavaScript中的匿名函数及函数的闭包