2
TESTにDefaultValue<int>::Set(10)
を置くと、すべて正常に動作しますが、外に置くとエラーが発生します。なにが問題ですか?根本的な原因は?gmockのDefaultValueのスコープの問題
using ::testing::DefaultValue;
struct Foo {
MOCK_METHOD0(doWork, int());
};
DefaultValue<int>::Set(10); // error: specializing member 'testing::DefaultValue<int>::Set' requires 'template<>' syntax;
TEST(BarTest, DoesThis) {
Foo foo;
DefaultValue<int>::Set(10); // everything works fine.
EXPECT_CALL(foo, doWork());
foo.doWork();
}
ああ、ありがとう、ストーリーテラー、マイ・不良。あなたの指摘の後、それは私には明らかですが、私はそのように考えることはできませんでした。そのような間違いの説明はありますか? – pepero
@pepero - 「ファイルスコープでコードを実行する」を探している場合は、数通りのヒットがあると思います。 – StoryTeller