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
|