[jbosstools-dev] Eclipse plugins testing structure

Aurelien Pupier apupier at redhat.com
Mon Feb 1 13:18:31 EST 2016


Hi,

comments inlined.

Le 1/27/2016 1:26 PM, Max Rydahl Andersen a écrit :
>
> On 27 Jan 2016, at 10:28, Aurelien Pupier wrote:
>
>     Hi,
>
>     I'm currently trying to improve test structure for Jboss Fuse Tooling
>     project (https://github.com/fusesource/fuseide).
>
>     On Max recommendation, I take a look at jbosstools-devdoc
>     https://github.com/jbosstools/jbosstools-devdoc/blob/master/source/how_to_add_a_test_plugin_or_feature.adoc
>
>     When i take a look to
>     https://github.com/jbosstools/jbosstools-server/blob/master/as/tests/org.jboss.tools.as.test.core/pom.xml
>     . This project is in tests folder but it launches
>     tycho-surefire-plugin.
>     As far as I understand Tycho, it means that it is launching an OSGi
>     platform. From my point of view, it means that these tests are already
>     integration tests and the only difference between tests and itests
>     currently is more fast vs slow tests.
>
> I disagree launching in osgi means it is an integration test.
>
> You can run fast tests with tyco-surefire-plugin or rater from eclipse 
> - just don't launch with the workbench.If you run with the plain maven 
> surefire plugin you will have to handle dependency management on your 
> own afaics -
>
> i.e. you cannot depend on anything in the osgi or in p2 repos for that 
> matter.
>
> Meaning any work done for Target platform will have to be done twice - 
> one for existing target platform, another
> for your pure maven setup.
>

I don't really have to handle these dependencies as we should mock them.
On the other side, I was using the same mechanism on another open source 
project <https://github.com/bonitasoft/bonita-studio> and we didn't have 
a lot of trouble with dependencies. I'm not sure how Tycho/Maven was 
handling it.

>     What I wanted to achieve is to have really fast unit test, so I
>     created
>     a fragment and so use maven-surefire-plugin. You can see the fragment
>     https://github.com/fusesource/fuseide/tree/master/editor/tests/org.fusesource.ide.camel.editor.tests
>
> so this will have to not rely on /any/ eclipse osgi dependent api's.
>
> That is doable, but super limited. As long as you are aware of that 
> and the need to maintain two "target platforms"
> that is fine.
>
> Need to find a different name than test or itest then though ;)
>
Maybe we can discuss to have a third category effectively (and perhaps 
even a fourth with UI tests, but this is another story ^^)

> Does it really make that big difference wether you use tyco-surefire 
> vs plain maven-surefire speed wise ? (remember to not start the 
> workbench ;)
>

Do you mean to launch in "Headless mode"?
At comparison, from Eclipse to launch the same test:
- using fragments: < 100ms
- using Headless mode: 16s
- using ui.ide application: 30s

> /max
> http://about.me/maxandersen
>
Regards,

-- 
Aurelien Pupier
Senior Software Engineer in JBoss Fuse Tooling Team
@apupier

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20160201/d8a8ffb9/attachment-0001.html 


More information about the jbosstools-dev mailing list