Hi Mickael,
Thank you for the information, I better understand. Our product builds now successfully with all the tests, we can enjoy the power of build automation now!
Alain
De : tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] De la part de Mickael Istria
Envoyé : vendredi 5 septembre 2014 17:10
À : tycho-user@xxxxxxxxxxx
Objet : Re: [tycho-user] SWTBot + Tycho
On 09/05/2014 04:58 PM, BERNARD, Alain wrote:
You’re right Mickael, SWTBot is not the cause of the error; as suggested by Jeff and Matthias the problem was due to missing dependencies declaration in the MANIFEST.MF file of the test plug-in. It works now!
It's what I call "behavioral dependencies", and it's pretty common for SWTBot tests: you don't need the bundles APIs to write your tests, but you need the bundle behavior to have your tests working. In that case, I believe it makes sense to list those dependencies in MANIFEST.MF.
The thing I don’t understand is: why is it required to declare the dependencies explicitly in this plugin instead of using the target platform or the product that we just built before? I thought that it was possible to “install” the test plug-in in the packaged product and to use it for the UI tests.
The target-platform doesn't define the classpath of your surefire tests. Tycho resolves a classpath against the target-platform and according to the dependencies of your bundle. So classpath is a subset of the target-platform.
About setting a product, it's a product as defined by the product extension point (http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fproduct_def_extpt.htm ) and NOT the product as defined with a .product, so it contains no info about packaging nor necessary bundles.
If you want to test about packaged applications, you might be interested in http://wiki.eclipse.org/Tycho/Testing_with_Surefire#p2Installed_with_reference_to_a_p2_product_IU , which allows to use the product IU which defines the dependencies
HTH