《Activiti实战》读书笔记——5.1.4
博客专区 > 一万 的博客 > 博客详情
《Activiti实战》读书笔记——5.1.4
一万 发表于2年前
《Activiti实战》读书笔记——5.1.4
  • 发表于 2年前
  • 阅读 59
  • 收藏 2
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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属性值。待验证。

共有 人打赏支持
粉丝 28
博文 102
码字总数 173386
×
一万
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: