java测试1

发大水

package com.java1234.activiti.variable;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;

import com.java1234.activiti.model.Student;

public class VariableTest {

	/**
	 * 获取默认流程引擎实例,默认读取配置文件activiti.cfg.xml
	 */
	private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();

	/**
	 * 1.部署流程定义.
	 */
	@Test
	public void deployWidthClassPath(){

	Deployment deployment=	processEngine.getRepositoryService()// 部署相关service
		.createDeployment()//创建部署对象
		.addClasspathResource("diagrams/StudentLeaveProcess.bpmn")//加载资源文件
		.addClasspathResource("diagrams/StudentLeaveProcess.png") //加载资源图片
		.name("学生请假流程")//设置名称
		.deploy();//部署

		System.out.println("流程部署Id:"+deployment.getId());
		System.out.println("流程部署Name:"+deployment.getName());
/*
流程部署Id:15001
流程部署Name:学生请假流程
-------------------
## 流程部署表
select * from act_re_deployment;

## 流程定义表
select * from act_re_procdef;

## 资源文件表
select * from act_ge_bytearray;
 */
	}
	/**
	 * 1.1查询所以流程部署,名称查询,like查询
	 */
	@Test
	public void findDeploy(){
	//	processEngine.getRepositoryService().get

	}

	/**
	 * 2.启动流程实例
	 */
	@Test
	public void start(){
	  ProcessInstance pi=	processEngine.getRuntimeService() //运行服务
		.startProcessInstanceByKey("studentLeaveProcess"); //数据库中act_re_procdef的key_字段
	  System.out.println("流程实例ID:"+pi.getId());
	  System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID
/*
流程实例ID:17501 ,30001
流程定义ID:studentLeaveProcess:1:15004
 */
	}
	/**
	 * 3.查询任务
	 *
	 */
	@Test
	public void findTask(){
	List<Task> taskList=	processEngine.getTaskService() //任务服务实例
		.createTaskQuery()//创建任务查询
		.taskAssignee("王五")// 查询  张三 ,李四,后欧洲王五
		.list();

		for(Task task:taskList){
			// act_ru_task; 字段  里面的信息
			System.out.println("任务Id:"+task.getId());
			System.out.println("任务Name:"+task.getName());
			System.out.println("任务创建时间:"+task.getCreateTime());
			System.out.println("任务委派人:"+task.getAssignee());
			System.out.println("任务实例ID:"+task.getProcessInstanceId());
		}

/*打印结果: 

任务Id:17504, 	 30004
任务Name:学生请假申请
任务创建时间:Thu Jul 28 15:24:50 CST 2016
任务委派人:张三
任务实例ID:17501	,30001
 */
	}
	/**
	 * 4.完成任务,让张三完成任务
	 */
	@Test
	public void completeTask(){
		processEngine.getTaskService()//任务服务器
		.complete("50002");  //使用上面: 任务Id:(17504)
		System.out.println("任务完成!");
	}

	/**
	 * 设置流程变量数据
	 * 42504,47502,如果再用42504会出现异常!
	 */
	private String taskId="47502";
	@Test
	public void setVariableValues(){
		/*
 # 运行时参数设定 , 先这个表的数据会在任务结束的时候被清空
select * from act_ru_variable;
		 */
		TaskService taskService=	processEngine.getTaskService(); //任务服务实例
		//String taskId="";
		taskService.setVariable(taskId, "days", 2);
		taskService.setVariable(taskId, "date", new Date());
		taskService.setVariable(taskId, "reason","发烧了");

		Student student=new Student();
		student.setId(1);
		student.setName("张三");
		taskService.setVariable(taskId, "student", student);
		System.out.println("设置完成!");
	}
	@Test
	public void getVariableValues(){
		TaskService taskService=	processEngine.getTaskService(); //任务服务实例
		//String taskId="";
		/**
		 * 当任务提交的时候,下一个人可以根据自己的任务id获取 到这些变量值
		 * 使用 42504 设置参数,使用47502也可获取到
		 */
		Integer days = (Integer) taskService.getVariable(taskId, "days");
		Date date = (Date) taskService.getVariable(taskId, "date");
		String reason= (String) taskService.getVariable(taskId, "reason");
		Student student=(Student) taskService.getVariable(taskId, "student");
		System.out.println("days:"+days+"");
		System.out.println("date:"+date);
		System.out.println("reason:"+reason);
		System.out.println("student:"+student);
		System.out.println("------查询完成!");
/*
days:2
date:Thu Jul 28 17:52:45 CST 2016
reason:发烧了
student:Student [id=1, name=张三]
 */
	}
	/**
	 * 这种设置会覆盖数据!
	 */
	@Test
	public void setVariableMap(){
		TaskService taskService=	processEngine.getTaskService(); //任务服务实例
		Map<String,  Object> variables =new HashMap<String, Object>();
		variables.put("days", 3);
		variables.put("date", new Date());
		variables.put("reason","发烧了22");

		Student student=new Student();
		student.setId(2);
		student.setName("张三1");
		variables.put("student", student);
		/**
		 *这种设置方法会覆盖task数据!
		 */
		taskService.setVariables(taskId, variables);

		System.out.println("设置完成!");
	}
	@Test
	public void getVariableMap(){
		TaskService taskService=	processEngine.getTaskService(); //任务服务实例
		//String taskId="";
		/**
		 * 当任务提交的时候,下一个人可以根据自己的任务id获取 到这些变量值
		 * 使用 42504 设置参数,使用47502也可获取到
		 */
		Map<String ,Object> variables = (Map<String, Object>) taskService.getVariables(taskId);
		System.out.println(variables);
		System.out.println("------查询完成!");
	}

}

  

时间: 2024-10-07 05:09:49

java测试1的相关文章

java测试网络连接是否成功并设置超时时间

/** * 获取RMI接口状态 * * @return "0":服务正常,"1": 连接报错,"2":连接超时 */ @Override public String getRMIJkzt() { final ExecutorService es = Executors.newFixedThreadPool(1); Callable<String> callable = new Callable<String>() {//使

Java测试工具使用(1)--Junit

在进行测试之前需要导入junit的两个包,分别是 junit:4.12;hamcrest-core:1.1 1.基本测试标签 @Test.@Before.@After 2.组测试 有时候多个测试文件,如果一个一个去执行肯定浪费时间,那么如何做呢? 假如现在有FirTest.java,SecTest.java,每个测试类中有多个方法,想把这个文件一起测试应该如何做呢? 新建一个java测试文件,命名为GroupTest,然后编写代码 @RunWith(Suite.class) @Suite.Sui

JAVA测试编程知识点

JAVA测试编程会涉及的知识点: 1.      testNg框架 2.      http协议和HttpClient. 在依据http头进行不同数据解析: Transfer-Encoding:chunked 在chunked 为ture时接口分段传数据怎么解析处理 chunked 不为ture时接口测试已可以处理. Content-Encoding: gzip 接口数据压缩的怎么解析处理 结合Transfer-Encoding:chunked为ture时接口数据怎么解析处理 不同Content

8个超实用的Java测试工具和框架

Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK--Java Development Kit(Java开发工具包),它自带有Java Runtime Environment(JRE)和JVM(Java运行时环境).它能让你在自己的电脑上编译.运行.测试你的Java程序. 此外,你还需要IDE(集成开发环境).选择有很多,如IntelliJ.Eclipse和NetBeans. Java测试工具 下面是我精选的8个最棒的Java测试工具和框架. 1.Arquillia

Java测试覆盖率工具----Cobertura,EclEmma

Cobertura 是一个与Junit集成的代码覆盖率测量工具 它是免费.开源的 它可以与Ant和Maven集成,也可以通过命令行调用 可以生成HTML或XML格式的报告 可以按照不同的标准对HTML结果进行排序 为每个类.包以及整个项目计算所覆盖的代码行与代码分支的百分比例 Eclipse插件地址: http://ecobertura.johoop.de/update/ (requires Eclipse 3.5+) 使用Ant来执行Cobertura 操作步骤: 1.添加核心依赖jar包--

在Jmeter中使用自定义编写的Java测试代码

分类: 测试工具 2007-01-19 15:02 8204人阅读 评论(3) 收藏 举报 测试javaloadrunner编译器importtemplates 我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java Vuser"等协议.同样,Jmeter也支持自定义编写的测试代码,不过与LoadRunner不同的是,Jmeter没有自带编译器,需要借助

Java测试类获取spring bean方法

Java测试类获取spring bean方法 http://blog.163.com/lizhenming_2008/blog/static/76558333201362094243911/ 1.通过spring上下文 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationcontext.xml"); DataSource ds = (DataSource) ctx.getBean("d

java测试类调用LDAP服务器客户端信息实行增删改查

如下是我自写的java测试类调用客户端配置好的用户信息: package com; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.NamingException; impor

第一次Java测试及感触

周四进行了java测试,感触很深,测试的题目是用Java实现一个ATM机的管理系统.最后3个小时后,我没有完成这次测试,但是我找到了自己的很多不足,明确了自己的问题究竟在哪里. 关于这次测试我不会的最大问题是关于文件读写操作模拟数据库,其实好像从C语言开始,我对文件就不怎么会用,然后到了C++,现在的java,我依旧还是不太会用,这个问题真的很严重,它反映出我从来没有真正地去把文件操作弄懂学会,导致现在,,,测试结束以后,我从网上学习了java文件操作,下面这是一个文件写入模块和文件读写模块 1

Java测试感受

Java测试感想 这周四是我们的Java语言课,这也是我们第一节课,我们进行了一次考试.通过一个暑假的时间,让我们去自学Java,这也是对我们的一次考验. 开始的时候,老师让我们编了一个比暑假的题还要难得程序,刚开始没有头绪,不知道该怎么写,而且还用了文件,感觉特别难.自己也是对照着之前写的程序,编了半天,也是写了最基本的,感觉自己有好多的地方都不会,这个程序和暑假的时候写的程序差不多,但是自己还是不会,还用百度搜索了一些程序用了将近半天的时间,也没写多少. 有一个地方是让判断输入的数是否为整数