или можно в сценарии прямо объекты создавать и использовать TEST() ?
// This fixture for test
class StringTest : public ::testing::Test {
protected:
std::string StrEnglish;
std::string StrEmpty;
// Init these objects here
void SetUp() override {
StrEnglish = "Hello my good guy";
StrEmpty = "";
}
};
// If str not valid -> return empty
TEST_F ( StringTest, StrEngNotValid) {
ASSERT_EQ ( Filter( StrEnglish, "Some text" ), StrEmpty );
}
//=========================================================
// If str not valid -> return empty
TEST ( StringTest , StrEngNotValid) {
std::string StrEnglish = "Hello my good guy";
std::string StrEmpty = "";
ASSERT_EQ ( Filter( StrEnglish, "Some text" ), StrEmpty );
}
это gtest?
Скорее в этом случае вам подойдёт просто fixture, он здесь поможет избежать переиспользуемого кода и даже улучшит читаемость)
Еще вопрос к Вам, void TearDown() вызывается перед деструктором. Для чего это может быть нужно? Можете объяснить.
В целом он может управлять подготовкой и очисткой ресурсов, связанных с выполнением тестов. Например, если у тебя есть класс, имеющий один или несколько тестовых случаев, то в TearDown() ты можешь освобождать ресурсы, выделенные этому классу, или сбрасывать его состояние к изначальному
Обсуждают сегодня