web-dev-qa-db-ja.com

Googleテスト-「SetUpTestSuite」を使用しても機能しないようです

テストスイートレベルの「セットアップ」操作を実行するテストスイートを記述しようとしています。

最初に簡単なプログラムを書いて試してみましたが、「SetUpTestSuite」メソッドを呼び出すことができません。

_#include <gtest/gtest.h>
#include <iostream>

class MyTest : public ::testing::Test
{
protected:
    static void SetUpTestSuite() {
        std::cerr << "TestSuiteSetup" << std::endl;
    }

    static void TearDownTestSuite() {

    }
};

TEST_F(MyTest, Case1) {
    std::cerr << "TESTING" << std::endl;
}

int main(int argc, char* argv[])
{
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
_

これを実行すると、次のようになります。

_[==========] Running 1 tests from 1 test cases.
[----------] Global test environment set-up.

[----------] 1 test from MyTest
[ RUN      ] MyTest.Case1
TESTING
[       OK ] MyTest.Case1 (0 ms)
[----------] 1 test from MyTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 tests from 1 test cases ran. (0 ms total)
[  PASSED  ] 1 tests.
_

何らかの理由でSetUpTestSuite()が呼び出されることはありません。


私はGoogleテストドキュメントの 同じスイートのテスト間でリソースを共有する セクションを読んでいますが、何が間違っているのか理解できません。

何か足りないものはありますか?


注:私はgtest v1.6.0を使用しています-これは私の会社のRed Hat RPMリポジトリから入手できる唯一のパッケージです

10
tjwrona1992

ドキュメントが間違っているようです。これらのメソッドはSetUpTestCase()およびTearDownTestCase()と呼ばれる必要があります。少なくともGoogle Test 1.8.0では。

12
rveerd

変更はリリースされていないようです。ドキュメントは、リリースされたバージョンではなく、Masterブランチで最新のように見えます。

2