The AutoTest Interface

    1. Toolbar
    2. Tests
    3. Filtering
    4. Results

The AutoTest interface consists of four primary components:

  1. The toolbar
  2. The tests pane
  3. The test filtering box
  4. The tabbed creation and results reporting pane


The toolbar allows you to create new tests using the New Eiffel test wizard and to run existing tests.

The Create new tests command ( ) invokes the New Eiffel test wizard.

The Run filtered tests command ( ) will, by default, run all tests that are visible in the Tests pane. Whether or not a test is visible depends upon any test filtering currently in effect. The Run filtered tests allows other options for running tests through its drop-down icon ( ).

The Debug filtered tests command ( ) functions in a similar manner to Run filtered tests with the exception that each test is paused at its starting point in the EiffelStudio debugger. Debug filtered tests has a drop-down icon providing the same options as Run filtered tests.

The Stop all test related tasks command ( ) will halt all tests which were started by the Run filtered tests or Debug filtered tests commands.


The Tests pane presents tests in one or more expandable tree views. The structures of the trees depend upon the filter criteria that you have specified for organizing the view. For example, if you look at tests based on the test classes in which they exist (tag root "class"), the structure of the tree view(s) will reflect the clusters in which the test classes exist.

Likewise, if you look at tests based on their target classes (tag root "covers"), the structure of the display will be based on the target classes.

Tests and test classes are pickable in the Tests pane.


The Filter box allows you to limit which tests are visible in the Tests pane (and, by consequence, the tests run when Run filtered tests is clicked) by entering filter text in the box and pressing the Enter key. Filter text can be a string of characters that is contained in a test class or test routine name, or it can be a tag or a portion of a tag hierarchy.

In fact, filter text fully supports regular expressions, so you can craft more complex and precise filters. (You will notice below when the Results choice is selected from the Filter box drop-down, that the filter text used is the regular expression "^result".)

Clicking the Clear filter icon ( ) to the right of the filter box will clear any filter contents and enable the viewing of all tests. The Tests pane is depicted below after clicking the Clear filter icon and expanding some of the items:

The Filter box has a drop down icon on its right end. By default this icon provides views of the tests in the Tests pane based on tag criteria.

The criteria are associated with the roots of their respective tag trees. So for example, if Results is chosen the Tests pane shows tests grouped by their latest results.

Note: The result tag hierarchy is, as you may have guessed, virtual and dynamic. A test falling into the fail subtree may later become part of the pass subtree without any change to the "testing:" notes in the test routine code, where tags are established. But for filtering purposes result tags work like other tags.

If the fail subtree name were appended to the result filter, only the failed tests would be visible in the Tests pane:

If the filter text is a character string that occurs in a test name, test class name, or a tag path, tests with any match will be visible:


This pane supports a tabbed display that provides information about the creation and execution of tests.

After creation of one or more tests, the creation is logged under the Creation tab.

After execution, the tests executed and the status of those tests are shown in the Execution tab.

After executing a set of tests, the Testing pane of the Outputs tool shows a chronology of the executions and the results of the tests executed.

You can view more detail about a test's execution by clicking the Information icon ( ) to the right of the test's entry in Results when the Execution tab is selected.

cached: 02/25/2017 11:58:16.000 PM