砂場

調べ物用

Googletest/mock関連

GoogleTest

入門ガイド

  • 公式
  • 日本語訳
    • 日本語訳は元の文書がちょっと古いようで、公式の記載と合わない箇所がある(だいたい同じなので混乱することはない)

上級ガイド

GoogleMock

超入門編

  • 公式
  • 日本語訳
    • 日本語訳は元の文書がちょっと古いようで、公式の記載と合わない箇所がある(だいたい同じなので混乱することはない)

クックブック

チートシート

大体はクックブックとチートシートを読めば解決するので、以下はクックブックに載っていない使い方(随時追加)

構造体メンバの値をMatcherに使う

Field Matcherはクラスのメンバだけでなく構造体のメンバにも使える。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct {
    int i;
    float f;
    char str[1024];
} Foo_t;

TEST(test_foo, foo_mocktest) {
    foomock = new FooMock;

    // 引数Foo_t型構造体のメンバiが1のときにマッチ
    EXPECT_CALL(*foomock, m_printfoo(Field(&Foo_t::i, Eq(1))))
    .WillRepeatedly(testing::Return(29));
    
    EXPECT_EQ(29, doFoo());
    delete foomock;
}