のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

Visual Studioの単体テストで、時間のかかるテストをスキップする方法

実行するのに時間がかかるので、
無効にしたいテストを以下のようにすると、
スキップしてくれる。

f:id:none53:20180808121808p:plain

#if 0で隠してしまうと、テストがあることがわからなくなってしまう。

BEGIN_TEST_METHOD_ATTRIBUTE(時間がかかるテストの名前)
TEST_METHOD_ATTRIBUTE(L"Ignore", L"true")
END_TEST_METHOD_ATTRIBUTE()

TEST_METHOD(時間がかかるテストの名前)
{
    // code
}

L##

   #define TEST_METHOD_CATEGORY(methodName, category)          \
        BEGIN_TEST_METHOD_ATTRIBUTE(methodName)                 \
            TEST_METHOD_ATTRIBUTE(L"TestCategory", L##category)  \
        END_TEST_METHOD_ATTRIBUTE()                             \
        TEST_METHOD(methodName)

Ignoreのみに、限定すると

   #define TEST_METHOD_IGNORE(methodName, category)          \
        BEGIN_TEST_METHOD_ATTRIBUTE(methodName)                 \
            TEST_METHOD_ATTRIBUTE(L"Ignore", L##category)  \
        END_TEST_METHOD_ATTRIBUTE()                             \
        TEST_METHOD(methodName)
TEST_METHOD_IGNORE(test_name, "true")

stackoverflow.com

www.ademiller.com