0
複数のテストファイルに含める必要がある.hppファイルで一連の一般的なユニットテストがあります。Googleテストでのテストフィクスチャの複数定義
しかし、同じファイルの複数のコピーを取得し、汎用の.hppファイルはテストフィクスチャの複数の定義について不平を言います。
これにアプローチする方法についてのヘルプが必要です。
複数のテストファイルに含める必要がある.hppファイルで一連の一般的なユニットテストがあります。Googleテストでのテストフィクスチャの複数定義
しかし、同じファイルの複数のコピーを取得し、汎用の.hppファイルはテストフィクスチャの複数の定義について不平を言います。
これにアプローチする方法についてのヘルプが必要です。
gtestクラスの宣言は、通常の方法で.hppと.cppファイルを使用して定義から分離できます。
したがって、テスト関数とフィクスチャをヘッダに定義するのではなく、これらをヘッダファイル#include
のソースファイルに移動します。したがって、たとえば
#include "gtest/gtest.h"
class MyTest : public ::testing::Test {
protected:
void TestFunction(int i) {
ASSERT_GT(10, i);
}
};
TEST_F(MyTest, first_test) {
ASSERT_NE(1, 2);
TestFunction(9);
}
変化にtest.hpp
:
#include "gtest/gtest.h"
class MyTest : public ::testing::Test {
protected:
void TestFunction(int i);
};
とtest.cpp
を追加:あなたはtest.hpp
のように持っている
#include "test.hpp"
void MyTest::TestFunction(int i) {
ASSERT_GT(10, i);
}
TEST_F(MyTest, first_test) {
ASSERT_NE(1, 2);
TestFunction(9);
}
あなたが複数の場所で同じテストヘッダを含めている場合、あなたは本当に探しています型付きテストまたは型パラメータ化テストの場合詳細については、http://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Typed_Testsを参照してください。
ありがとう、フレーザー! – user1065969