Difference between revisions of "Using CDD"
(→Getting Started) |
(→How to debug a test case) |
||
Line 82: | Line 82: | ||
If the ''''Restrict'''' push-button is pressed, only test cases matching the current filter criterion (i.e. test cases that show up in the tree-view) will be executed. You can use this to shorten testing time when working on a particular subset of your program. | If the ''''Restrict'''' push-button is pressed, only test cases matching the current filter criterion (i.e. test cases that show up in the tree-view) will be executed. You can use this to shorten testing time when working on a particular subset of your program. | ||
− | = How to | + | = How to run a test case in debug modeest = |
− | To debug | + | To debug a test case, first select it in the test case view and then press the ''Debug selected test routine'' button. |
Revision as of 06:42, 28 January 2008
Contents
Getting Started
The following will first give a quick overview of the two main features of CDD and then guide you through enabling and using them.
The two main feature of CDD are test case exectution and test case extraction.
Test Case Execution
This adds full unit testing support to EiffelStudio. It is similar to the xUnit family of testing tools. Each test case that contains the word 'TEST' in its name and inherits from class 'CDD_TEST_CASE' is automatically considered a test class. Test cases are autmatically executed after every compilation. Execution can be restricted, disabled and individual test cases can be started in debug mode.
Test Case Extraction
CDD observs the developer while running the program under development. Whenever an exception is thrown CDD gets activated automatically and extracts a test cases that is able to reproduce the observed failure. Once a test case is extracted it shows up in the test case view and behaves like an ordinary manually written test cases.
The two main features of CDD are test case execution and test case extraction. The first will cause the execution of your test cases after every compilation and the second will extract a new test case after every exception is thrown. By default both features are disabled. Enable both by pressing the two toolbar buttons marked in red below:
How to add a manual test case
To add a manual test case simply create a new class whose name contains the word 'TEST', have it inherit from CDD_TEST_CASE and add one or several unit test routines. Make sure that all unit test routines start with 'test_'. Here is a simple example test class:
class TEST_BANK_ACCOUNT inherit CDD_TEST_CASE feature test_deposit local ba: BANK_ACCOUNT do create ba.make_with_balance (0) ba.deposit (100) check money_depisited: ba.balance = 100 end end end
After you have added your test class, recompile and your test case should automatially appear in the 'Testing' tool window. A template test case can be created by pressing the 'Create new manual test case' button:
How to extract a test case
CDD automatically extracts a new test case after every thrown exception. This test case will appear in the normal test case tool window and can be managed like an ordinary manually written test case.
How to search for a test case
Use the filter text box to search for test case by name or tag. Make sure you press enter after you have changed the filter text.
How to add a tag to a test case
You can add custom tags to test cases by adding a indexing item 'tag' to either the test class or the test routine. Here is an example of a test class with a tag:
indexing tag: "fixme" class TEST_BANK_ACCOUNT inherit CDD_TEST_CASE feature test_deposit local ba: BANK_ACCOUNT do create ba.make_with_balance (0) ba.deposit (100) check money_depisited: ba.balance = 100 end end end
How to restrict test case execution
If the 'Restrict' push-button is pressed, only test cases matching the current filter criterion (i.e. test cases that show up in the tree-view) will be executed. You can use this to shorten testing time when working on a particular subset of your program.
How to run a test case in debug modeest
To debug a test case, first select it in the test case view and then press the Debug selected test routine button.