第23章 工作流的TDD文件
23.1.工作流TDD介绍
public class AuctionTest extends TestCase {
// 解析流程定义
static ProcessDefinition auctionProcess = ProcessDefinition.parseParResource("org/jbpm/tdd/auction.par");
// 获得容易断言的节点
static StartState start = auctionProcess.getStartState(); static State auction = (State) auctionProcess.getNode("auction"); static EndState end = (EndState) auctionProcess.getNode("end");
// 流程实例
ProcessInstance processInstance;
// 执行主路径
Token token;
public void setUp() { // 为给定的流程定义创建一个新的流程实例 processInstance = new ProcessInstance(auctionProcess); // 执行的主路径是根令牌 token = processInstance.getRootToken();
}
public void testMainScenario() { // 在流程实例创建后,执行主路径位于start状态 assertSame(start, token.getNode()); token.signal(); // 在信号后,执行的主路径已经移动支auction状态 assertSame(auction, token.getNode()); token.signal(); // 在信号后,执行的主路径已经移动支end状态然后流程结束 assertSame(end, token.getNode()); assertTrue(processInstance.hasEnded());
}
}
|
23.2. XML源
23.2.1. 解析流程包
...
static ProcessDefinition auctionProcess = ProcessDefinition.parseParResource("org/jbpm/tdd/auction.par");
...
|
23.2.2.解析xml文件
...
static ProcessDefinition auctionProcess = ProcessDefinition.parseXmlResource("org/jbpm/tdd/auction.xml");
...
|
23.2.3. 解析XML字符串
...
static ProcessDefinition auctionProcess =
ProcessDefinition.parseXmlString(
"<process-definition>" +
" <start-state name='start'>" +
" <transition to='auction'/>" +
" </start-state>" +
" <state name='auction'>" +
" <transition to='end'/>" +
" </state>" +
" <end-state name='end'/>" +
"</process-definition>");
...
|