Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Test Knime workflows from a Junit test.

Build Status Codacy Badge DOI

The Knime Testing Framework can run a test workflow either:

  • Inside Knime, if you right-click on a workflow in your local workspace, you can select "Run as workflow test".
  • From the command line, using knime -application org.knime.testing.NGTestflowRunner -root <workflow dir>.

This repo gives you another option run a test workflow inside of a Junit @Test method declaration.

This project uses Eclipse Tycho to perform build steps.


Using the plugin requires several steps.

1. Add repository

This plugin is available in the update site.

To make use of in a Tycho based project add to the <repositories> tag of the pom.xml file the following:


2. Add dependency to tests

In the Require-Bundle attribute of the META-INF/MANIFEST.MF of the tests module add


3. Add test workflow

Create a test workflow as described in the "Testing Framework" manual that you get when you install the "KNIME Testing Framework" (look in plugins/org.knime.testing_x.y.z/doc/Regression Tests.pdf).

Place the workflow as a directory inside the src/knime/ directory of the tests module.

4. Add test

Create a new test class and inside the class put the following:

public ErrorCollector collector = new ErrorCollector();
private TestFlowRunner runner;

public void setUp() {
    TestrunConfiguration runConfiguration = new TestrunConfiguration();
    runner = new TestFlowRunner(collector, runConfiguration);

public void test_simple() throws IOException, InvalidSettingsException, CanceledExecutionException,
        UnsupportedWorkflowVersionException, LockFailedException, InterruptedException {
    File workflowDir = new File("src/knime/my-workflow-test");

This will test the workflow put in src/knime/my-workflow-test in the previous step.

This will run minimal checks, to check more configure runConfiguration object.
For example add some more checks by adding


5. Run tests

mvn verify

The test results can be found in the T E S T S section of the standard output.

6. Add GUI testing to Travis-CI.

As you might have noticed during the previouse step, running test will quickly show some dialogs and windows. To show graphical user elements an X-server is required, sadly Travis-CI does not run an X-server. A temporary X-server can be run with Xvfb, which is luckily available on all Travis-CI environments.

Prepend xvfb-run before the mvn verify command in the .travis.yml file.

For example

script: xvfb-run mvn verify -B


mvn verify

An Eclipse update site will be made in p2/target/repository repository. The update site can be used to perform a local installation.


Steps to get development environment setup based on

  1. Install Java 8
  2. Install Eclipse for RCP and RAP developers
  3. Configure Java 8 inside Eclipse Window > Preferences > Java > Installed JREs
  4. Import this repo as an Existing Maven project
  5. Activate target platform by going to Window > Preferences > Plug-in Development > Target Platform and check the KNIME Analytics Platform (4.0) - nl.esciencecenter.e3dchem.knime.testing.targetplatform/ target definition.

During import the Tycho Eclipse providers must be installed.

New release

  1. Update versions in pom files with mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>-SNAPSHOT command.
  2. Commit and push changes
  3. Create package with mvn package, will create update site in p2/target/repository
  4. Append new release to an update site
  5. Make clone of an update site repo
  6. Append release to the update site with mvn install<path to update site>
  7. Commit and push changes in this repo and update site repo.


Test Knime workflows from a Junit test.




No packages published