Visual Studioの単体テストで、時間のかかるテストをスキップする方法
実行するのに時間がかかるので、
無効にしたいテストを以下のようにすると、
スキップしてくれる。
。
#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")