0
下の 'DoesBlah'テストのベースクラスから 'MyType'を使用します。GTest Typed Test - 使用
#include <gtest/gtest.h>
template <typename T>
struct MemberVariable
{
T m_t;
};
struct Base : public ::testing::Test
{
template <typename MemberType>
using MyType = MemberVariable<MemberType>;
};
template <typename DerivedType>
struct Derived : public Base
{
};
typedef ::testing::Types<int, char> MyTypes;
TYPED_TEST_CASE(Derived, MyTypes);
TYPED_TEST(Derived, DoesBlah)
{
MyType<TypeParam> test;
test.m_t = (TypeParam)1;
ASSERT_EQ(test.m_t, 1);
}
はしかし、私は、次のコンパイルエラーが表示されます。
gti/specific/level/Test.t.cpp: In member function 'virtual void Derived_DoesBlah_Test<gtest_TypeParam_>::TestBody()':
gti/specific/level/Test.t.cpp:25:5: error: 'MyType' was not declared in this scope
MyType<TypeParam> test;
は私がTestFixture ::がMyType、型名TestFixture ::がMyTypeを使用してみましたが、両方が動作しませんでした。
Derivedに「MyType」と呼ばれるものがあることを認識させるにはどうすればよいですか?いくつかの単純化して
非常に詳しい説明をありがとうございます! – Supervisor