在前文的基础上改变测试方式
package activiti_001;
import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.Deployment;
import org.junit.Test;
/**
*
* 继承PluggableActivitiTestCase 可以给测试提供很多方便
* 其中最大的方便在于,使用非内存数据库时,会在测试完成后清空数据库中的数据
* 保持数据库的纯净
*
*/
public class TestByActiviti extends PluggableActivitiTestCase {
@Test
// 使用注解可以直接部署我们定义好的流程了
@Deployment(resources = "MyProcess.bpmn")
public void test() {
// 所有的服务都已经创建好了,可以直接使用
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey("myProcess");
Task task = taskService.createTaskQuery().singleResult();
// 可以直接使用断言了
assertTrue("User Task".equals(task.getName()));
taskService.complete(task.getId());
// 断言流程结束
assertProcessEnded(processInstance.getId());
}
}