RT Repo Structure, and tests repo
Alexandre (Shura) Iline
alexandre.iline at oracle.com
Wed Dec 21 00:40:09 PST 2011
On 12/21/2011 09:27 AM, Daniel Zwolenski wrote:
> On Wed, Dec 21, 2011 at 1:33 PM, Richard Bair<richard.bair at oracle.com>wrote:
>> This item in bold, jfx/tests, is a new proposed repo in our forest
>> (actually, it already exists but now we want it to also exist in the open
>> source). The idea here is that JemmyFX (the JavaFX extensions of Jemmy) and
>> the bulk of the functional tests that have been written by SQE using
>> JemmyFX would both go into jfx/tests repo. This would do a couple things.
>> First, if anybody else wants to write JemmyFX-based tests for their own
>> applications, the code would be available for them to do so. Second, for
>> anybody wanting to help write tests for the platform to improve our code
>> coverage and stabilty, the tools would now be available to do so. Third, if
>> you are fixing any bugs in the core platform, you will have the tests
>> available to make sure your fix doesn't introduce a regression. And fourth,
>> if you want to submit a new API (such as a new control or just a new
>> feature on some existing class) then you will have the tools available to
>> also write a pile of functional tests.
> Should JemmyFX not maybe a separate .net project that the unit test part of
> JFX uses. i.e. much the same as Jemmy is.
The main motivation for JemmyFX to be a part of JavaFX repository is the
fact that JemmyFX code depends very heavily on JavaFX code.
In a nutshell, JemmyFX is a piece of code which tells Jemmy core how to
treat JavaFX UI. There is a place where it is explained how to get node
hierarchy and how to get text of a Labeled and how scroll a scrollbar
and so on and so forth.
Having it separate makes it much harder to maintain. It's unclear how to
maintain versioning, for example, because JemmyFX depends on JavaFX and
JavaFX tests depend on JemmyFX. Having it separate effectively disables
pre-integration testing. And so on.
Having JemmyFX as a part of JavaFX repository makes it much easier to
maintain. We could even get refactoring for free. Yes, this adds an
external dependency (JemmyFX <- JemmyCore), but one dependency is less
than two (JavaFX tests <- JemmyFX, JemmyFX <- JavaFX).
More information about the openjfx-dev