Coder Social home page Coder Social logo

stephanpelikan / camunda-bpm-process-test-coverage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from camunda-community-hub/camunda-process-test-coverage

0.0 1.0 0.0 4.6 MB

Community Extension Helper library to visualize which parts of a BPMN process have been covered by a unit test

License: Apache License 2.0

Java 96.45% HTML 3.55%

camunda-bpm-process-test-coverage's Introduction

 Camunda BPM Process Test Coverage 

This Camunda BPM community extension visualises test process paths and checks your process model coverage ratio. Running typical JUnit tests now leaves html files in your build output. Just open one and check yourself what your test did:

Insurance Application

Highlights

  • Visually verify the paths covered by individual tests methods and whole test classes
  • Visually check gateway expressions and transaction borders (savepoints) used by your process
  • Calculate and verify the nodes (and sequence flow) coverage ratio reached by tests methods and classes

Just use it

  • Integrates with all versions of Camunda BPM starting with 7.3.0 and upwards
  • Works with all relevant Java versions: 1.8 and 1.11 - using JUnit 4.13.1 (4.11 does not work)
  • Is continuously checked against latest Camunda BPM releases - see the full travis-ci matrix for details:

Get started with 3 simple steps

1. Add a Maven test dependency to your project

<dependency>
  <groupId>org.camunda.bpm.extension</groupId>
  <artifactId>camunda-bpm-process-test-coverage</artifactId>
  <version>0.3.2</version>
  <scope>test</scope>
</dependency>

2. Use the ProcessCoverageInMemProcessEngineConfiguration, e.g. in your camunda.cfg.xml

<bean id="processEngineConfiguration"
   class="org.camunda.bpm.extension.process_test_coverage.junit.rules.ProcessCoverageInMemProcessEngineConfiguration">
   ...
</bean>

3. Use the TestCoverageProcessEngineRule as your process engine JUnit rule

@Rule
@ClassRule
public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create().build();

Running your JUnit tests now leaves html files for inidividual test methods as well as whole test classes in your project's target/process-test-coverage folder. Just open one, check yourself - and have fun with your process tests! 😄

New! Get Started with Spring Testing

See a unit test example wired for Spring Testing here.

Further resources

Maintainers

The software development team of WDW eLab GmbH has contributed initial design and implementation of this project.

Screenshot

WDW eLab GmbH is an innovative IT company and has great experience with complex business support processes in complex IT environments. One of our specialties are customer support processes in telecommunications. We are proud to be an official Camunda BPM partner! Feel free to contact us via Email!

Contributors

Simon Zambrovski (holisticon)

Irmin Okic (wdw-elab)

Axel Groß (wdw-elab)

Falko Menge (Camunda)

Martin Schimak (plexiti)

CI/CD

https://ci.consulting.camunda.cloud/job/camunda/job/camunda-bpm-process-test-coverage/

License

Apache License, Version 2.0. See LICENSE file.

camunda-bpm-process-test-coverage's People

Contributors

anhaltfelix avatar antocuc avatar berndruecker avatar dependabot[bot] avatar falko avatar lldata avatar martinschimak avatar n1ghtf1re avatar ov7a avatar phax1 avatar r-n-aliev avatar raspelikan avatar stephanpelikan avatar z0rb avatar zambrovski avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.