|
20 | 20 | ## Introduction |
21 | 21 | In this example you will learn how to write an automated test for a simple network using the `DicomImport`, `MinMaxScan`, and `View3D` modules. Afterward, you will be able to write test cases for any other module and network yourself. |
22 | 22 |
|
| 23 | +MeVisLab provides two options to compare a test result with an expected result: |
| 24 | +#### ASSERT |
| 25 | +Multiple **ASSERT_*** functions to compare expected and actual result are available, for example **ASSERT_EQ()** (check if two values are equal) or **ASSERT_GT()** (check if value is greater than another value). |
| 26 | + |
| 27 | +In case an assertion fails, an exception is thrown and the test execution stops. |
| 28 | +#### EXPECT |
| 29 | +The same comparisons can be done by using **EXPECT_***. The functions return *true* or *false* and depending on the result you can decide how to proceed. |
| 30 | + |
| 31 | +Make sure to use the right comparison methods depending on your needs. |
| 32 | + |
| 33 | +{{<alert class="info" caption="Info">}} |
| 34 | +Additional information can be found in {{< docuLinks "/Resources/Documentation/Publish/SDK/TestCenterReference/namespaceTestSupport_1_1Macros.html" "TestCenter Reference" >}} |
| 35 | +{{</alert>}} |
| 36 | + |
23 | 37 | ## Steps to Do |
24 | 38 |
|
25 | 39 | ### Creating the Network to be Used for Testing |
@@ -87,6 +101,8 @@ When *ready* is true, the test touches the *selectNextItem* trigger, so that the |
87 | 101 |
|
88 | 102 | The value of our `DicomImport`s *progress* field is saved as the *currentValue* variable and compared to the *expectedValue* variable by calling *ASSERT_FLOAT_EQ(expectedValue,currentValue)* to determine if the DICOM import has finished (*currentValue* and *expectedValue* are equal) or not. |
89 | 103 |
|
| 104 | +You can play around with the differences between **ASSERT_FLOAT_EQ()** and **EXPECT_FLOAT_EQ()** and le your test fail to see the differences. |
| 105 | + |
90 | 106 | ### Run Your Test Case |
91 | 107 | Open the TestCase Manager und run your test by selecting your test case and clicking on the *Play* button in the bottom right corner. |
92 | 108 |
|
@@ -126,5 +142,7 @@ Create a global macro module and implement the following test objectives for bot |
126 | 142 | * MeVisLab provides a TestCenter for writing automated tests in Python. |
127 | 143 | * Tests can be executed on networks and macro modules. |
128 | 144 | * The test results are shown in a ReportViewer. |
| 145 | +* **ASSERT*** functions throw an exception if the expected result differs from the actual result. The test run is aborted in such a case. |
| 146 | +* **EXPECT*** functions return *true* or *false*. You can decide yoursel how to continue your test. |
129 | 147 |
|
130 | 148 | {{< networkfile "examples/testing/example1/TestCases.zip" >}} |
0 commit comments