При написании тестов для одного программного обеспечения, скажем, библиотеки, вы предпочитаете скомпилировать все модульные тесты в один или разделить их на несколько исполняемых файлов?
Причина, по которой я спрашиваю, заключается в том, что я сейчас использую CUnit для тестирования библиотеки, над которой я работаю. Тесты разбиты на отдельные наборы, которые скомпилированы в один исполняемый файл с выводом на печать для сбоев. Теперь системой сборки для этой библиотеки является CMake (которая, несмотря на свое название, не имеет ничего общего с CUnit), которая поставляется с собственной платформой тестирования, CTest . CTest позволяет мне зарегистрировать список исполняемых файлов, которые служат тестами.
Я размышляю, стоит ли использовать CTest для автоматизированного тестирования. Однако это потребовало бы от меня разбивки написанных мною тестов на отдельные цели компиляции. В противном случае я не смогу использовать некоторые расширенные функции CTests, такие как выборочное выполнение тестов.
Я понимаю, что это больше вопрос о том, какие инструменты использовать, их обработку и соглашения, но кроме этого, есть ли другие причины предпочитать один исполняемый файл теста отдельным? Или наоборот?