Making Runners


A Runner is the "main program" that runs tests. Runners have three jobs: first to get the test data from repository, second to apply that data through fixtures, and third to deliver results where they are needed.


Core runners.

These are the runners we have made part of the core framework at this point. We will be making more and would be happy to distribute runners for specific environments from this site.

  • FileRunner
    • gets from input file
    • applies to objects within the classpath
    • reports to output file

  • WikiRunner
    • gets from <wiki> portion of web page (copied to temp file)
    • applies to objects within the classpath
    • reports to requesting browser (from temp output-file)


Contributed runners.

We're happy to collect information about unique and specialized runners. Consult our index.


Making new runners.

We can suggest a sequence for bringing up new runners based on the fact that our method is much like copying (serving) any other html file. Of course start by understanding the existing runners. Then, working in your normal development environment, try the following with a simple but valuable test.

  • Copy a test html file from "input" to "output".
  • Parse a test html file and print it to output.
  • Apply a fixture to the parsed table before printing.
  • Select a test from the repository. (optional)
  • Add or modify tests in the repository. (optional)


Runners we've seen or would like to see.

Now we will speculate as to what might be useful runners. We can't imagine every situation so don't assume runners we've omitted aren't useful. We'd love to learn of what you've done. mailto:ward@c2.com. See AvailableRunners for our index.

  • ServletRunner
    • gets from directory or web pages
    • applies to objects within application server
    • reports to requesting browser

  • GUI runner
    • gets from screen or repository
    • applies to objects within classpath
    • reports to screen

  • JUnit runner (JunitBridge)
    • gets from local directory or elsewhere
    • applies to objects within classpath
    • reports to JUnit framework

  • Load runner (StressTesting)
    • gets from some other runner
    • applies many times over sequentially and concurrently
    • reports aggregated and statistical results

 

Last edited November 15, 2004
Return to WelcomeVisitors