[Sticky] How to write a unit test
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-24-2012 08:29 AM
Of course, a good description on how to reproduce the problem is crucial. But to make it really interesting for us (and to speed up things), the issue is accompanied by a unit test demonstrating the problem.
To simplify this process, we've created a 'unit test template' project which you can use: https://github.com/Activiti/activiti-unit-test-template
Add your failing unit test, zip up the project and attach it to the issue.
More about this template, read http://www.jorambarrez.be/blog/2012/09/24/how-to-write-a-unit-test/
- Labels:
-
Archive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-04-2013 05:58 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-07-2013 07:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-17-2013 01:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2014 04:39 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-09-2014 05:53 AM
I download your template from here:https://github.com/Activiti/activiti-unit-test-template/blob/master/src/test/java/org/activiti/MyUni...
I just modify the location of the process file.
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.ActivitiRule;
import org.activiti.engine.test.Deployment;
import org.junit.Rule;
import org.junit.Test;
import static org.junit.Assert.*;
public class UnitTestActiviti{
@Rule
public ActivitiRule activitiRule = new ActivitiRule();
@Test
@Deployment(resources = {"E:/Dropbox/workspaceEclipse/eclipseJuno/customer/addition.bpmn"})
public void test() {
ProcessInstance processInstance = activitiRule.getRuntimeService().startProcessInstanceByKey("Addition process");
assertNotNull(processInstance);
Task task = activitiRule.getTaskService().createTaskQuery().singleResult();
assertEquals("Activiti is awesome!", task.getName());
}
}
Here is the message error I get: java.lang.Exception: Field activitiRule must implement MethodRule
at org.junit.runners.BlockJUnit4ClassRunner.validateRuleField(BlockJUnit4ClassRunner.java:181)
at org.junit.runners.BlockJUnit4ClassRunner.validateFields(BlockJUnit4ClassRunner.java:176)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:116)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:269)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:66)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:59)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Please help me, i am new to unitTest,
thanks inadvance,
sophea
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-20-2014 04:23 AM
I've tried the template and it runs out of the box here. Does the default example process work for you?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-15-2015 05:56 PM
<java>
@Test
public void test() {
ProcessEngine processEngine = activitiRule.getProcessEngine();
processEngine.getProcessEngineConfiguration().setJobExecutorActivate(true);
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment()
.addClasspathResource("org/activiti/test/ServiceTaskTimerTest.bpmn")
.deploy();
ProcessInstance processInstance = activitiRule.getRuntimeService().startProcessInstanceByKey("serviceTaskTimerTest");
assertNotNull(processInstance);
boolean active = processEngine.getProcessEngineConfiguration().getJobExecutor().isActive();
assertTrue(active);
// Other stuff…
</java>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-16-2015 03:46 AM
have a look on
org.activiti.engine.impl.test.JobTestHelper#waitForJobExecutorOnCondition(org.activiti.engine.ProcessEngineConfiguration, long, long, java.util.concurrent.Callable<java.lang.Boolean>)
in the activiti sourceYou can see there how to start jobExecutor.
Regards
Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-16-2015 11:19 AM
<java>
//
// Use one of the many ways to construct an org.activiti.engine.ProcessEngine object.
//
JobExecutor jobExecutor = processEngine.getProcessEngineConfiguration().getJobExecutor();
jobExecutor.start();
</java>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-30-2015 05:51 AM
I received issue "Caused by: org.h2.jdbc.JdbcSQLException: Table "ACT_HI_PROCINST" already exists; SQL statement:" when I use the given junit template. May I know how to clean h2 before test?
In addition, I would like to know how to let activitirule to load configuration spring.
Regards,
Yong
