[JUnit, pde.junit] how to run tests in/on a binary build? [message #186264] |
Thu, 18 November 2004 18:33  |
Eclipse User |
|
|
|
How to run tests from JUnit against an Eclipse-based product, i.e. a
set of binary plugins? Why I ask:
My group develops plugins. Each developer codes against a relatively
small number of plugins which their team owns. S/he checks out those
plugins from CVS into workspace as source, points to other (binary w
source zip) plugins via Prefs>PID>Target Platform, and then
builds/codes/tests.
Current Eclipse JUnit and pde.junit tooling support testing pretty
well in that environment, since one's tests are contained in projects
in the workbench--I have created
https://bugs.eclipse.org/bugs/show_bug.cgi?id=78993
to try to make it easier to run tests defined outside the workbench
(e.g. in plugins in the Target Platform). But I'm wondering how to
enable test automation beyond that point, e.g.:
Nightly (at least), the entire set of plugins for the product gets
built to one or more of
* a "JDK build." After some massage, a JDK build becomes what a
developer points to as Target Platform.
* a "packaged build": no sources, used by some acceptance-type testers
(i.e. folks deprived of source access, "black-box testers").
* an "installable build": a packaged build plus an installer (like a
customer would start with).
Call the latter, non-source builds "IBs." When an IB attains
exceptional virtue (i.e. is believed to be actually usable :-),
developers are notified of its existence, and each team is told to run
its "smoketests" thereupon. This is because, in our org, developers
are also function testers: we write (mostly text scenarios) and "run"
our smoketests and function tests as well as write the sources
targeted by the tests. Unfortunately those smoketests are all
currently manual: we
* launch the IB (possibly after formal install) by running some binary
(eclipse.exe or someProductName.exe). Note that we are NOT launching
the IB via PDE, since it is believed important to test the "actual
product."
* twiddle the UIs as defined in our (text) scenarios
* assess the damage
Smoketests are run relatively frequently (2-4/wk towards the end of
the project cycle), and are composed of one or more small-but-
important usecases. Less frequently, we have a "function verification
test" (FVT) pass in which we run LOTS of testcases in the same manner
(notably manually), which takes much longer, but gets much more
coverage (we hope).
I very much want to automate my team's smoketests from JUnit (for
now--eventually we must automate FVT, and revive automated BVT, then
go for TDD) as well as integrate our existing headless testcases into
our "smoketest bucket." Headless vs GUI is not the problem:
* I know I can write suitable testcases using Abbot (for fat GUIs),
HttpUnit (for web UIs, both static and servlet), or other JUnit
extensions (which Hyades is planning to support, see
http://dev.eclipse.org/mhonarc/lists/hyades-dev/msg01238.htm l )
* we already have both headless and GUI testcases that I run via
pde.junit now "the normal way" (tests are in plugins are in my
workspace). I can run the target by either with pde.junit (i.e.
Run>Run>JUnit Plug-in Test) or by launching (aka "selfhosting") with
PDE and then running JUnit inside the target.
The problem is, I don't know how to run a testcase on an IB, or any
case in which I'm not launching the target from another workbench and
I have no test projects in the workspace. Do you? Please advise.
If possible please reply directly to me as well as to the newsgroup,
and TIA.
|
|
|
|
Powered by
FUDForum. Page generated in 0.06173 seconds