Java_Activiti5_菜鸟也来学Activiti5工作流_之JUnit单元测试(四)
1/**ActivitiSPRingJuinitTest.java2* author : 冯孟活 ^_^3* dates : 2015年9月2日 下午2:16:544* class : activiti 之 Junit 测试5*/6//指定运行环境要用到spring的测试包(spring-test.jar)7@RunWith(SpringJUnit4ClassRunner.class)8//注入一些配置信息9@ContextConfiguration(locations="classpath:applicationConfig.xml")10publicclassActivitiSpringJuinitTest {1112@Autowired//注入运行服务类13privateRuntimeService runtimeService;1415@Autowired//注入任务服务类16privateTaskService taskService;1718@Autowired19@Rule//注入一些规则20privateActivitiRule activitiSpringRule;2122@Test23@Deployment//部署24publicvoidactivitiTest(){25//根据key来启动流程实例26runtimeService.startProcessInstanceByKey("myProcess");27//获取单个任务28Task task =taskService.createTaskQuery().singleResult();29//断言任务名称就是 "My Task"30Assert.assertEquals("My Task",task.getName());31//完成任务32taskService.complete(task.getName());33/**34* 总结:简单的单元测试到此为止!35* 注意:药正确使用 注解类36* 遇到的问题:37* Caused by: java.lang.ClassNotFoundException: org.junit.Assume$AssumptionViolatedException38* 这一般是spring-text包与junit包冲突引起,把junit改低版本就没有问题了^_^39*/40}41}424344<!-- applicationConfig.xml -->45<?xml version="1.0" encoding="UTF-8"?>46<beans xmlns="http://www.springframework.org/schema/beans"47xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"48xmlns:context="http://www.springframework.org/schema/context"49xmlns:tx="http://www.springframework.org/schema/tx"50xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd51http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsd52http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.1.xsd">5354<!-- 配置数据源 -->55<bean id="dataSource"class="org.springframework.jdbc.datasource.SimpleDriverDataSource">56<property name="driverClass" value="com.MySQL.jdbc.Driver"/>57<property name="url" value="jdbc:mysql://localhost:3306/db_activiti?useUnicode=true&characterEncoding=utf-8"/>58<property name="username" value="root"/>59<property name="passWord" value="root"/>60</bean>6162<!-- 配置数据源事务管理器 -->63<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">64<property name="dataSource" ref="dataSource"/> <!-- 引用上面的数据源 -->65</bean>6667<!-- 配置流程引擎配置类 注意:这是用 org.activiti.spring.SpringProcessEngineConfiguration 这个类-->68<bean id="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration">69<property name="dataSource" ref="dataSource"/>70<property name="transactionManager" ref="transactionManager" />71<property name="databaseSchemaUpdate" value="true" />72<property name="jobExecutorActivate" value="false" />73<property name="createDiagramOnDeploy" value="false" /> <!-- 是否生成流程定义图片 -->74</bean>7576<!-- 配置流程引擎工厂 -->77<bean id="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean">78<property name="processEngineConfiguration" ref="processEngineConfiguration" />79</bean>8081<!-- 配置注入一些服务 -->82<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/>83<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/>84<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />85<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />86<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />8788<!-- 配置activiti的规则 -->89<bean id="activitiRule"class="org.activiti.engine.test.ActivitiRule">90<property name="processEngine" ref="processEngine" />91</bean>9293</beans>