Модульное тестирование неэкспортированных классов в DLL

Мы разрабатываем приложение на C ++ с помощью Visual Studio 2008 и модульное тестирование с помощью Boost.Test. На данный момент у нас есть отдельное решение, которое содержит наши модульные тесты.

Многие из наших проектов в основном решении создают библиотеки DLL. Мы ограничены в охвате тестированием, потому что мы не можем тестировать неэкспортированные классы.

У меня есть две идеи, как их можно протестировать:

  1. Экспортировать все
  2. Поместите тесты в DLL (тот же проект и решение) и используйте внешний исполнитель Boost.Test

I ' м не совсем уверен, в чем будут недостатки. Номер 1 выше нарушает инкапсуляцию на уровне модуля, а номер 2 может привести к гораздо большему размеру DLL, если только невозможно включить тестовый код в определенные конфигурации.

Итак, есть ли какие-либо серьезные недостатки у вышеуказанных методов, или вы можете думаете о других решениях?

29
задан Jon 31 March 2011 в 08:11
поделиться