Lightweight Unit Testing for C, C++ and C++/CLR
Probably the simplest tool for this purpose is MiniCppUnit -- no install needed, 2 source files, ~ 500 lines and all in cross platform C++. This tool was in fact generated as a response to quite how heavyweight the more familiar CppUnit is.
The portability of the framework is extremely useful when code is being developed for a non-Windows platform, but you would like the platform independent body of the code in a unified Windows build for monitoring, as well as on the other platform. The one downside as it comes out the box, though, is that it doesn't build under C++/CLR due to its use of native C++ exception behaviour (i.e. uses the fact that in C++ you can throw anything). This wrinkle is simply fixed, however.
Guarded by an appropriate #ifdef/#else/#endif
, do the following
in the .hxx
file,
incoporate the .Net framework with
#using <mscorlib.dll>
provide an alternative definition of the TestFailedException class:-
public ref class TestFailedException : public System::ApplicationException
and catch System::Exception^
rather than TestFailedException&
in the .cxx
file
throw gcnew TestFailedException();
rather than just TestFailedException();
when building as C++/CLI .
No comments :
Post a Comment