《Activiti實戰》讀書筆記——5.1.4

5.1.4節給出了一個建立用戶、組,並用完成用戶任務的一個例子。 函數

一、測試類繼承了抽象類AbstractTest,它中有標註@BeforeClass、@AfterClass、@Before的註解: 單元測試

@Before:初始化方法   對於每個測試方法都要執行一次(注意與BeforeClass區別,後者是對於全部方法執行一次)
@After:釋放資源  對於每個測試方法都要執行一次(注意與AfterClass區別,後者是對於全部方法執行一次)
@BeforeClass:針對全部測試,只執行一次,且必須爲static void 
@AfterClass:針對全部測試,只執行一次,且必須爲static void  測試

一個JUnit4的單元測試用例執行順序爲: 
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
每個測試方法的調用順序爲: 
spa

@Before -> @Test -> @After;  xml


二、用@org.activiti.engine.test.Deployment註解導入bpmn文件:

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

起始路徑是classpath,故上述導入文件應在classes/chapter5/candidateUserInUserTask.bpmn。 繼承

在本身敲代碼的時候碰到沒法導入bpmn文件的問題,通過測試後綴名是.bpmn和.bpmn20.xml的文件能正常導入,而.bpmn.xml的文件不能導入。看來後綴名不能隨便寫。 資源


三、根據流程定義的ID啓動一個流程實例: it

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

參數是bpmn文件中 process元素的id屬性。

而runtimeService還有startProcessInstanceById函數,很容易搞混。把candidateUserInUserTask當作參數調用此函數沒法啓動流程實例。百度知道上有人說是流程對象保存到數據表中的ID字段的值,而不是<process id="">的id屬性值。待驗證。

相關文章
相關標籤/搜索