eclipsesource / eclipsesource/papyrus-gefx

[Tests] Add JavaFX unit tests

Open
#37 3 comments 0 reactions 0 assignees View on GitHub
enhancement releng
Dominant language
Java
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Now that #6 is complete, we should be able to provide true unit-tests for individual parts and visuals

The plan was to use TestFX for this; however it is currently not possible due to Releng limitations.

E(fx)clipse dynamically makes JavaFX available on the Module Path via JavaFX Jars shipped through a P2 Repository, which allows to use JavaFX in a very transparent manner for the end-user (He doesn't need to mess with his VM's Modules manually)

However, the OSGi version of TestFX uses some package-imports to javafx packages, which can only be resolved by OSGi if these modules are actually available on the module path. The problem is that this isn't compatible with E(fx)'s approach, making it impossible to install TestFX (e.g. via P2).

A solution might be to require having OpenJFX available at build time, and adding it explicitly on the Module Path (As expected by OSGi and TestFX). This is less flexible that E(fx)'s dynamic approach, but it would only be a requirement for developers and build servers. However, I've not tried this approach yet and I don't know if it would actually work

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the completed #6 work and the Releng setup, then investigate how TestFX's OSGi package imports interact with JavaFX JARs from the P2 repository. Check whether requiring OpenJFX at build time and placing it on the module path works for developers and build servers. Done means true unit tests for individual parts and visuals can be installed and run.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.