Creare un file che contiene solo il principale per eseguire i test.
// AllTests.cpp
#include "gtest/gtest.h"
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Quindi inserire i test in altri file. Puoi mettere tutti i test che vuoi in un file. La creazione di un file per classe o per file sorgente può funzionare bene.
// SubtractTest.cpp
#include "subtract.h"
#include "gtest/gtest.h"
TEST(SubtractTest, SubtractTwoNumbers)
{
EXPECT_EQ(5, subtract(6, 1));
}
Ciò richiede che tutti i test possano condividere lo stesso main. Se devi fare qualcosa di speciale lì, dovrai avere più obiettivi di build.
fonte
2012-02-20 22:34:55
Funziona bene! Grazie! – Killrazor
Se stai lavorando con google-test in Xcode (eventualmente anche con Objective-C++) e i test non vengono eseguiti dopo aver diviso la tua suite di test in diversi file '.cpp', vai al tuo target C++ con google-test in Xcode e attiva 'Esegui prelink di oggetto singolo' nelle opzioni di compilazione. – bithavoc
Non funziona per me. Quando si esegue l'eseguibile Alltrest SubtractTest non viene richiamato. SubtractTest.cpp viene creato come eseguibile o libreria? – user3667089