Is it possible to use python to unit test C++ code?

S

sylcheung

Is it possible to use python to unit test C++ code? If yes, is there
any example available?

Thank you.
 
K

keirr

Is it possible to use python to unit test C++ code? If yes, is there
any example available?

If I had to use python to test C++ code, I'd use the Boost python
library: http://www.boost.org/libs/python/doc/ to expose my C++
classes, and write the unittests in python after importing the wrapped
C++ code.
Note, you did ask if it was possible. Is it advisable? That's another
question.

All the best,

Keir.
 
S

skip

sylcheung> Is it possible to use python to unit test C++ code? If yes,
sylcheung> is there any example available?

Yes, it's quite possible. Some people even do it. ;-) As for examples, take
a look at Python's own test suite. Much of the code it contains actually
tests modules written in C, which is near enough to C++ for our purposes.
For example, consider that the math module is a thin wrapper around bits of
standard C89 math functions. The test_math.py script then exercises that
code.

So, you'll have to wrap your C++ library to make it available in Python
(check out SWIG and/or Boost and/or Python's Extending and Embedding
documentation), then write test cases. For that, look at the unittest and
doctest modules that come with Python as well as the third-party py.test
package.

Skip
 
S

skip

samuel> Thanks. When I use python to unit test my c++ code. Do I need
samuel> only the .o file? or I need the .c/.h files of the c++ code? If
samuel> the input is .c/.h files, how can I compile it for unit testing
samuel> purposes?

Your wrapper module will need the header files from your C++ library and it
will by dynamically linked against the library's .so (or .dll).

Skip
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top