Pracuję nad projektem C ++ z licznych folderów testowych generowanych przez platformę testową Google. Na przykład po dokonaniu projektu będę miał następujące pliki testowe wykonawcze, każdy zawierający wiele apartamentów testowych:

/proj/build/interface/test/test1_executable
/proj/build/interface/test/test2_executable
/proj/build/module2/test/test1_executable
/proj/build/module2/test/test2_executable

Chciałbym uruchomić wszystkie testy po nowej kompilacji. Czy to sposób, aby uruchomić wszystkie te pliki na raz, miejmy nadzieję równolegle?

Python ma narzędzie o nazwie nosetests, które może uruchamiać testy w projekcie. Jak programy C ++ prowadzą wszystkie testy w projekcie?

1
motam79 3 czerwiec 2018, 22:19

3 odpowiedzi

Najlepsza odpowiedź

Wygląda na to, że tworzysz jeden binarny na test. Nie tak powinieneś używać googletest.

Jeśli piszesz pojedynczy Main Funkcja, masz pojedynczy binarny ze wszystkimi testami. Nadal możesz wybrać pojedyncze testy, dodając --gtest_filter=whatever.

2
Tomás 15 lipiec 2019, 13:07

"Jak programiści C ++ prowadzą wszystkie testy w projekcie?" - to zależy wyłącznie od zastosowanego systemu testowego i systemu budowy. Nie ma standardowego rozwiązania.

0
Jesper Juhl 3 czerwiec 2018, 19:23

W systemie Windows Utwórz plik wsadowy i przygotuj słowo Start do każdej linii:

START /proj/build/interface/test/test1_executable
START /proj/build/interface/test/test2_executable
START /proj/build/module2/test/test1_executable
START /proj/build/module2/test/test2_executable

W Linuksie, dołącz A i na końcu każdego wiersza pliku wsadowego:

/proj/build/interface/test/test1_executable&
/proj/build/interface/test/test2_executable&
/proj/build/module2/test/test1_executable&
/proj/build/module2/test/test2_executable&
0
Russell Hankins 3 czerwiec 2018, 19:30