What is the best way to organize CppUnit tests for a project?

  • From: "DArmoza" < >
  • To:
  • Subject: What is the best way to organize CppUnit tests for a project?
  • Date: Fri, 24 Feb 2012 22:01:44 +0000

I have done some limited experimentation with the CppUnit capability 
associated with the C++ version of NetBeans (v7.0.1) under Linux. I would 
like to include more testing with my current project (under the folder src), 
but it has many classes spread over a few logical folders (e.g., util, 
framework, etc.).  When I tried to mirror the folder layout of src in the 
test folder, I could not get any of my test code to reside in logical folders 
below the test folder. I can create Test folders, but all of them showed up 
in the Projects window at the same level. I have dozens of classes each with 
its own unit test, and I expect that I would quickly run into a problem 
visually locating tests in the IDE.

Assuming I have something like the following:

Code:
  /src
     /framework
        /entity      <- (classes derived from sim_object)
            entity.h
            car.cpp        <- (a derivation of the entity class)
            car.h
        /component   <- (classes derived from sim_object)
            component.h
            engine.cpp     <- (a derivation of the component class)
            engine.h
            fuel_tank.cpp  <- (another derivation of component class)
            fuel_tank.h
        sim_object.cpp
        sim_object.h
     /util
        my_log.cpp
        my_log.h
        my_random.cpp
        my_random.h
     main.cpp
     project_wide.h     <- (to include common 'h' files)




I want to have a way of organizing my unit tests that allows for complete 
coverage of the classes that require testing. This is especially important 
since I expect to add lots of other classes.

Should I create a Test Folder for each top level logical folder that uses a 
test suite for each folder it contains, and have each of the classes that are 
tested be organized within that test suite? That seems fairly inelegant and 
more likely to make it less apparent where the unit tests for my classes are 
located.

Is there a way of mirroring the src hierarchy in test that I'm missing? Do I 
need to separate the project into libraries that encapsulate portions of the 
overall functionality, such that the individual tests within each library are 
more manageable and visually recognizable?

 I would greatly appreciate some help understanding what is the best way of 
getting closer to a TDD approach using NetBeans and CppUnit.

Please if possible, explain in terms of my example layout, since I have been 
hunting a while for any similar questions or tutorials and haven't found 
anything remotely addressing this issue.

Thanks.






What is the best way to organize CppUnit tests for a project?

DArmoza 02/24/2012

Project Features

About this Project

CND was started in November 2009, is owned by Leonid Lenyashin, and has 130 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20131025.e7cbc9d). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close