博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Activiti实战》读书笔记——5.1.4
阅读量:6826 次
发布时间:2019-06-26

本文共 1054 字,大约阅读时间需要 3 分钟。

hot3.png

5.1.4节给出了一个创建用户、组,并用完成用户任务的一个例子。

1、测试类继承了抽象类AbstractTest,它中有标注@BeforeClass、@AfterClass、@Before的注解:

@Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)

@After:释放资源  对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)
@BeforeClass:针对所有测试,只执行一次,且必须为static void 
@AfterClass:针对所有测试,只执行一次,且必须为static void 

一个JUnit4的单元测试用例执行顺序为: 

@BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
每一个测试方法的调用顺序为: 

@Before -> @Test -> @After; 

2、用@org.activiti.engine.test.Deployment注解导入bpmn文件:

@Deployment(resources = {"chapter5/candidateUserInUserTask.bpmn"})

起始路径是classpath,故上述导入文件应在classes/chapter5/candidateUserInUserTask.bpmn。

在自己敲代码的时候碰到无法导入bpmn文件的问题,经过测试后缀名是.bpmn和.bpmn20.xml的文件能正常导入,而.bpmn.xml的文件不能导入。看来后缀名不能随便写。

3、根据流程定义的ID启动一个流程实例:

    ProcessInstance processInstance =         runtimeService.startProcessInstanceByKey("candidateUserInUserTask");

参数是bpmn文件中 process元素的id属性。

而runtimeService还有startProcessInstanceById函数,很容易搞混。把candidateUserInUserTask当做参数调用此函数无法启动流程实例。百度知道上有人说是流程对象保存到数据表中的ID字段的值,而不是<process id="">的id属性值。待验证。

转载于:https://my.oschina.net/u/2453016/blog/593899

你可能感兴趣的文章
[20190524]浅谈模糊查询.txt
查看>>
Swift 构造与析构
查看>>
Java基础学习总结--Java对象的序列化和反序列化
查看>>
关于application/x-www-form-urlencoded等字符编码的解释说明
查看>>
svn项目冲突时显示无法加载项目的解决方法
查看>>
node论坛练手
查看>>
将object强制转换成int效率测试
查看>>
[Python3网络爬虫开发实战] 1.7.3-Appium的安装
查看>>
magento 购物车 首页 显示
查看>>
mapper.xml
查看>>
微信小程序之滚动图片
查看>>
NTP多种模式的配置
查看>>
html5--4-4 audio元素/格式的转换
查看>>
第 10 章 文件和异常
查看>>
获取物理路径相关
查看>>
用 Flask 来写个轻博客 (2) — Hello World!
查看>>
(2/24) 快速上手一个webpack的demo
查看>>
不高兴的o( ̄ヘ ̄o#)JJ
查看>>
ruby 镜像安装
查看>>
BZOJ4555: [Tjoi2016&Heoi2016]求和
查看>>