eao197 on the Web
Сайт Евгения Охотникова
[ Главная | Проекты | Описания | Об авторе | Лицензия ]

C++ tricks: dll, static lib & unit-tests

При разработке DLL время от времени возникают сложности с организацией unit-тестов, если DLL экспортирует только часть своей функциональности, либо вообще не экспортирует ничего. В таких случаях unit-тест просто не может получить доступ к внутренним классам/функциям DLL. Это актуально для Windows, где из DLL можно вызывать только то, что было из нее экспортировано.

Как оказалось, решение данной проблемы очень простое -- достаточно оформить все внутренности DLL в виде статической библиотеки. Тогда unit-тест линкуется не с DLL, а с внутренней статической библиотекой и таким образом получает доступ ко всем подлежащим тестированию классам/функциям.

До данного фокуса я дошел своим умом, но, как оказалось, он многократно изобретался заново разными разработчиками. Жаль, что информации о нем я раньше не встречал, а то бы давно его использовал.

© 2003-2006 Е.А. Охотников
$LastChangedDate: 2006-10-20 13:20:53 +0400 (РџС‚, 20 РѕРєС‚ 2006) $
e-mail

Hosted by uCoz