[Webtest] Wrapping WebTest with FIT

Dierk Koenig webtest@lists.canoo.com
Sun, 14 Sep 2003 17:56:29 +0200

Hi Jeff,

thanx for thoughtful response.

I'll try to explain my points a little bit better.

I was under the conception that you would use fitnesse, i.e.
writing and managing your tests through the wiki it provides.
(I would like to avoid the diskussion about the use of
writing tests in HTML.)

This in mind, see my clarifications below

> > WebTest
> > Test source follows implementation source in terms of source-control
> > support. Tests get versioned along with the source versions.
> > FIT
> > No Test source control (?). please correct me, if I'm wrong.
> I'm not quite sure what you mean by this.  The input to FIT is an
> HTML file,
> which is of course ASCII text and can be put in source-control just as
> easily as an XML file.  (FitNesse--as a Wiki--also comes with its
> own little
> built-in source tracking system, whereby you instantly retrieve
> any version
> of a page.)

I totally agree. But think about the development cycle:
- codebase and tests tagged x, all tests run.
- write some tests - they fail
- write some code - tests pass
- tag both with y

This is what we usually do with WebTest (just as we do it with
JUnit Tests). How would you do that in fitnesse, with all the
concurrent authoring? How would you rollback to x?

> > WebTest
> > High integration into IDE in terms of writing tests with
> > Syntax-Highlighting, Code-Completion, Starting Tests all from
> > inside your IDE.
> >
> > FIT
> > Very poor editor. Starts externally.
> Since you're just creating HTML files, you can use any editor you
> want.  As
> far as being able to start tests from within your IDE, that is
> exactly what
> FitNesse gives you.  ...

Well, you either have an (external?) html editor, or you use FitNesse,
where the browser's textarea is your editor.

> > WebTest
> > perfect integration into continuous integration tools like
> cruisecontrol.
> >
> > FIT
> > well, there is a command-line starter, but anyway: how could you
> > stop the build if a testcase fails? how do you report that? how do
> > you assure consistency of source vs. test versions?
> >
> I don't understand this one well.  Anything you can launch from
> the command
> line you can drive with ant.  We usually kick off our acceptance
> tests on a
> different cycle than our unit tests.  I haven't yet thought enough about
> failure reporting, beyond what FitNesse does out of the box.

Imagine a cruisecontrol run: clean build, run all unit tests (fail on
run all fitnesse tests (fail on error?). Build failed. Where do I find the
error indication? Cruisecontrol needs to have some xml result that it
merges into its build results.
(You can explore the above scenario on the webtest distribution site.)

> I hadn't thought about using property files to feed WebTest.  I
> guess I was
> going down a slightly different "best of both worlds" path.  With what I'm
> building, you can still specify the tests in XML, but link to them and
> launch them via FitNesse.

If I understand you correctly, this should be trivial.
Write a TestFixture that calls ant.
Whereas this would be a mere "starter" not really an "integration".

I'm not sure whether it brings much of a benefit, though.