Поскольку ваш вопрос помечен как юнит-тестирование, я дам несколько замечаний, касающихся юнит-тестирования. Однако то, что вы сейчас делаете, похоже, является интеграционным тестированием.
В модульном тестировании вы сосредотачиваетесь на тестировании своего кода изолированно от зависимых компонентов. То есть вместо того, чтобы тестировать свой код вместе с библиотекой Thrift, вы бы предпочли использовать какой-то макет этой библиотеки. Ваш код не должен быть в состоянии отличить, работает ли он с реальной библиотекой или с фиктивной. Поведение макета контролируется тестовым кодом. Это дает вашему тестовому коду большую степень свободы в использовании различных сценариев, которые вас интересуют. Если вы заинтересованы в том, чтобы узнать о нем больше, найдите «насмешливый», «внедрение зависимостей» и «инверсия управления», и вы найти много информации.
Тем не менее, нет ничего плохого в выполнении интеграционных тестов в сочетании с экономной библиотекой: тщательное тестирование некоторого кода потребует как модульного, так и интеграционного тестирования. Дело лишь в том, что цели и подходы этих двух сторон отличаются.