Czy pisząc testy dla jednego oprogramowania, powiedzmy w bibliotece, wolisz skompilować wszystkie testy jednostkowe w jednym, czy też podzielić je na kilka plików wykonywalnych?
Pytam dlatego, że obecnie używam CUnit do testowania biblioteki, nad którą pracuję. Testy są podzielone na osobne pakiety, które są kompilowane w jeden plik wykonywalny z wydrukowanym wyjściem w przypadku awarii. Obecnie systemem kompilacji dla tej biblioteki jest CMake (który pomimo swojej nazwy ma niewiele wspólnego z CUnit), który ma własną platformę testową, CTest . CTest pozwala mi zarejestrować listę plików wykonywalnych, które służą jako testy.
Zastanawiam się, czy użyć CTest do zautomatyzowanych testów. Wymagałoby to jednak podzielenia testów, które do tej pory napisałem, na osobne cele kompilacji. W przeciwnym razie nie mogę tak naprawdę korzystać z niektórych zaawansowanych funkcji CTests, takich jak selektywne uruchamianie testów.
Zdaję sobie sprawę, że jest to raczej pytanie o to, jakich narzędzi użyć, a także o ich obsługę i konwencje, ale poza tym, czy istnieją inne powody, aby preferować pojedynczy plik wykonywalny testu zamiast osobnych? Lub odwrotnie?