Select Unit Test Tools

CASA has not selected a unit test tool for C++ testing. CASA has not selected mock object tools for either C++ or Python testing to help decouple parts of CASA for unit and integration testing.

We plan to keep PyUnit as the recommended CASA Python unit test tool.

Status: See CAS-5601.

Team

Customers
  • CASA Developers

Collaborators
  • TBD

Plan

C++ unit test tools

  • Collect requirements
  • List available open source C++ unit test tools
  • Rate by apparent ease of use (based on docs)
  • For each of the top three candidates
    • Try trivial examples
    • Verify these work on all supported OSs
    • Try non-trivial examples
    • Verify these work on all supported OSs
  • Evaluate candidates for ease of use within CASA
    • Chose one as a candidate for further testing
  • Develop trivial example tests on CASA code using candidate tool
    • This includes any changes to CASA build system to run these tests in "make test"
  • Develop non-trivial example tests on CASA code using candidate tool
  • Document guidelines for using candidate tool
  • Present results to CASA developers

C++ mock tools

  • Collect requirements
  • List available open source C++ mock tools
  • Rate by apparent ease of use (based on docs)
  • For each of the top three candidates
    • Try trivial examples with C++ unit test tool candidate chosen above
    • Verify these work on all supported OSs
    • Try non-trivial examples with C++ unit test tool candidate chosen above
    • Verify these work on all supported OSs
  • Evaluate candidates for ease of use within CASA
    • Chose one as a candidate for further testing
  • Develop trivial example tests on CASA code using candidate tool
    • This includes any changes to CASA build system to run these tests in "make test"
  • Develop non-trivial example tests on CASA code using candidate tool
  • Document guidelines for using candidate tool
  • Present results to CASA developers

Python mock tools

  • Collect requirements
  • List available open source Python mock tools
  • Rate by apparent ease of use (based on docs)
  • For each of the top three candidates
    • Try trivial examples with PyUnit
    • Verify these work on all supported OSs
    • Try non-trivial examples with PyUnit
    • Verify these work on all supported OSs
  • Evaluate candidates for ease of use within CASA
    • Chose one as a candidate for further testing
  • Develop trivial example tests on CASA code using candidate tool
    • This includes any changes to CASA build system to run these tests in "make test"
  • Develop non-trivial example tests on CASA code using candidate tool
  • Document guidelines for using candidate tool
  • Present results to CASA developers

Deliverables

  • Instructions for installing chosen C++ unit and mock tools.
  • Instructions for installing chosen Python mock tools.
  • Guidelines for using chosen C++ unit and mock tools.
  • Guidelines for using chosen Python mock tools.

Requirements

  • TBD

Design

  • TBD

Implementation

  • TBD

Tasks

Project tasks are tracked with Jira sub-tasks under this project's master task. See CAS-5601.

-- ScottRankin - 2013-09-12
Topic revision: r2 - 2013-09-12, ScottRankin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback