S60 5e C++ Developer's Library v2.1 > Testing > Testing your software > Setting up a test project > Tool setup
This page points the reader to S60 Platform: Location Example (v1.2), but asks to extract it to C:\temp\MapEx. Nothing wrong yet, except that there's a hint of a mismatch between LocationExample and MapEx which is the main problem in completing the exercise by simply following directions.
Next page, "Creating the unit test project" the sample code for TestHeader.h has two references to CMapExampleSmsEngine but in the code extracted in step above, it is actually CLocationExampleSmsEngine. This doesn't cause a problem until tests are actually implemented but it will confuse the reader at that point.
On the same page, step 6, in bld.inf if "makefile ExtraTestBuildTasks.bldmake" is used as suggested, there seems to be a problem with nmake (which there's an pointer to an outdated version in the tool setup section). To avoid running into this issue, change that to "gnumakefile ExtraTestBuildtasks.bldmake" as suggested by user IceBlue in the C++ forums.
On the next page, "Stubbing dependencies" again references to CMapEx... should be changed to CLocationExample...
The list of empty functions shown here don't match the errors I get from the linker at this point. They were actually needed later, but that this point several other symbols were undefined.
On the next page "Implementing tests" this is where I first discovered the problem with TestHeader.h I mentioned earlier, and had to be fixed. The rest of the process went OK, but I had to refer to the provided TestSource.cpp because I found the descriptions a little inadequate.
A suggestion I might make as an addition to this tutorial would be to make at least one test fail. If not, one can go through the whole tutorial and not experience that and get to see how SymbianOSUnit shows failures and how to go about fixing it.
Otherwise the tutorial was quite good and covers many important concepts in unit testing & also refactoring. Good work!

Reply With Quote

