1
template <typename T> class ClassA : public ::testing::Test {
public:
ClassA() {}
constexpr static uint ZERO = 0;
};
typedef ::testing::Types<ClassB, ClassC, ClassD> ParamTypes;
TYPED_TEST_CASE(ClassA, ParamTypes);
template <> constexpr uint ClassA<test::ClassB>::ZERO;
template <> constexpr uint ClassA<test::ClassC>::ZERO;
template <> constexpr uint ClassA<test::ClassD>::ZERO;
TYPED_TEST(ClassA, testSomething) { ASSERT_EQ(ClassA::ZERO, 0); } ??
TYPED_TEST(ClassA, testSomething) { ASSERT_EQ(this->ZERO, 0); } ??
Google 테스트에서 typed 테스트에 정적 constexpr을 사용하는 올바른 방법은 무엇입니까?gtest 유형 테스트의 정적 constexpr 사용
난 당신이되게 두 형태가 합법적 인 생각 ... –
:
또한, 오타의 몇 가지를 해결했습니다. 그들은 작동하지 않습니다 – Lorac나는 당신이'this->'에 의해 정적 constexpr에 접근 할 수 있는지 묻는다고 생각했습니다. 내 생각 엔 당신이 테스트 불완전한 템플릿에 합격하면 작동하지 않는다는 것입니다.'ClassA'는 템플리트 화되어 있으며 완전한 유형으로 해석 될 수 있도록 특수화되어 있어야합니다 ... –