«Нормальный» способ использования GoogleTest - это поместить тесты в отдельный проект от проекта, который вы хотите протестировать, т.е. если вы хотите протестировать свой проект Foo , вы должны поместить свои тесты в (Например, проект FooTest .
В проекте FooTest вы должны выглядеть примерно так:
#include "gtest/gtest.h"
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
И отдельный тест должен выглядетьнапример:
#include "gtest/gtest.h"
#include "IntComparer.h"
namespace
{
class IntComparerTest : public ::testing::Test
{
protected:
IntComparerTest () { ... };
virtual ~IntComparerTest () { ... };
};
TEST_F(IntComparerTest, biggerThanZero)
{
EXPECT_TRUE(IntComparer::inputBiggerThanZero(1));
}
TEST_F(IntComparerTest, biggerThanZero_false)
{
EXPECT_FALSE(IntComparer::inputBiggerThanZero(-1));
}
}
Обратите внимание, что включение gtest.h
и макроса TEST_F
приводит к тому, что контрольные примеры автоматически (если IntComparer.cpp
скомпилирован и связан втестовый проект), зарегистрированный тестовой структурой (и, таким образом, найденный / запущенный при запуске исполняемого файла теста) - NO необходимо включить IntComparer.cpp
в любом месте .
Тем не менее, вы не указали свою среду сборки и не предоставили пример кода, где вы застряли, поэтому я не могу дать вам никаких советов, кроме этого.