1 /**ActivitiSpringJuinitTest.java
2 * author : 冯孟活 ^_^
3 * dates : 2015年9月2日 下午2:16:54
4 * class : activiti 之 Junit 测试
5 */
6 // 指定运行环境要用到spring的测试包(spring-test.jar)
7 @RunWith(SpringJUnit4ClassRunner.class)
8 // 注入一些配置信息
9 @ContextConfiguration(locations="classpath:applicationConfig.xml")
10 public class ActivitiSpringJuinitTest {
11
12 @Autowired // 注入运行服务类
13 private RuntimeService runtimeService;
14
15 @Autowired // 注入任务服务类
16 private TaskService taskService;
17
18 @Autowired
19 @Rule // 注入一些规则
20 private ActivitiRule activitiSpringRule;
21
22 @Test
23 @Deployment // 部署
24 public void activitiTest(){
25 // 根据key来启动流程实例
26 runtimeService.startProcessInstanceByKey("myProcess");
27 // 获取单个任务
28 Task task = taskService.createTaskQuery().singleResult();
29 // 断言任务名称就是 "My Task"
30 Assert.assertEquals("My Task",task.getName());
31 // 完成任务
32 taskService.complete(task.getName());
33 /**
34 * 总结:简单的单元测试到此为止!
35 * 注意:药正确使用 注解类
36 * 遇到的问题:
37 * Caused by: java.lang.ClassNotFoundException: org.junit.Assume$AssumptionViolatedException
38 * 这一般是spring-text包与junit包冲突引起,把junit改低版本就没有问题了^_^
39 */
40 }
41 }
42
43
44 <!-- applicationConfig.xml -->
45 <?xml version="1.0" encoding="UTF-8"?>
46 <beans xmlns="http://www.springframework.org/schema/beans"
47 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
48 xmlns:context="http://www.springframework.org/schema/context"
49 xmlns:tx="http://www.springframework.org/schema/tx"
50 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
51 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
52 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
53
54 <!-- 配置数据源 -->
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>
61
62 <!-- 配置数据源事务管理器 -->
63 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
64 <property name="dataSource" ref="dataSource"/> <!-- 引用上面的数据源 -->
65 </bean>
66
67 <!-- 配置流程引擎配置类 注意:这是用 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>
75
76 <!-- 配置流程引擎工厂 -->
77 <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
78 <property name="processEngineConfiguration" ref="processEngineConfiguration" />
79 </bean>
80
81 <!-- 配置注入一些服务 -->
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" />
87
88 <!-- 配置activiti的规则 -->
89 <bean id="activitiRule" class="org.activiti.engine.test.ActivitiRule">
90 <property name="processEngine" ref="processEngine" />
91 </bean>
92
93 </beans>
没有最好,也没有最坏,一切习惯就好~_^!
JAVA交流群^_^:487566461
Activiti5交流群~_^:470165731
JBPM6交流群^_^:470118196
你的加入是我的荣耀,来吧,朋友:让我们一起交流和探讨!