boost test: How to make boost test a friend ?

I am looking into boost test. I dont not want to expose some member functions as public. However I need to access them for testing, is there any way making boost test a friend of this class ? Any help appreciated. Best regards, Ta, Avi

Avi Bahra wrote:
I am looking into boost test. I dont not want to expose some member functions as public. However I need to access them for testing, is there any way making boost test a friend of this class ?
You do not really need to make Boost.Test routines friends of your class. You should be able to get away with making your test functions as friends. Gennadiy

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Gennadiy Rozental wrote:
Avi Bahra wrote:
I am looking into boost test. I dont not want to expose some member functions as public. However I need to access them for testing, is there any way making boost test a friend of this class ?
You do not really need to make Boost.Test routines friends of your class. You should be able to get away with making your test functions as friends.
Another option is to make those member functions protected and derive a class for testing purposes that promotes them to public. class A { int a; protected: int get_value () { return a; } }; class test_A : public A { public: using get_value (); }; Now your tests can use test_A objects and access its public get_value(). Just keep class test_A out of your program/module and everything should be fine. This approach has the benefit that it keeps all the testing stuff out of your regular code as well. Hope this helps, - -- Olaf Meeuwissen, LPIC-2 FLOSS Engineer -- AVASYS CORPORATION FSF Associate Member #1962 Help support software freedom http://www.fsf.org/jf?referrer=1962 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkuLBcUACgkQt5qrxaZLMnJa6QCfcivgQfJst0lgwGq5W2eLHlY6 wwkAn2RvgHhP8vwEX6O6X25lCetuUIcW =qldS -----END PGP SIGNATURE-----
participants (3)
-
Avi Bahra
-
Gennadiy Rozental
-
Olaf Meeuwissen