Skip to content
MartinSchouwenburg edited this page Feb 25, 2014 · 17 revisions

Introduction

The IlwisTests module contains all c++ tests for the Ilwis project. The module runs either all test cases availale or some subset of them. Therefore every test case registers itself and declares a parent test suite under which it can be invoked via command line argument.

Organisation of the tests

All tests are now organized in a QT subdirs project(TestCases). A subdirs project is a kind of container project which can contain multiple other projects. The subdirs project now contains

  • The testsuite project. This generates the base dll which all Ilwis-object test cases need.
  • The testrunner. This is the executable that runs all the test. It makes use of the testsuite dll to load the tests and to get access to the test classes
  • An arbitrary number of projects that generate dll's with the test cases for specific tests.

The dll's of the testcases will end up in a folder below the testrunner.exe (which is with the ilwiscore.dll) called testcases. The testrunner through the testsuite loads the test dll's in this folder and executes the tests. The test dll's are independent of each other and thus maybe linked against any other library/dll as needed, without interfering with the others. As the testsuite ensures that the Ilwis-framework is properly initialized, all dll's ilwis has available are loaded.

When making a new testcase dll make sure that all the paths are set correctly to ensure that the result will end up at the correct place.

Clone this wiki locally