Я запускаю новый проект Win32 C ++ с использованием Visual Studio 2019 (v. 16.0.4) и Resharper (v. 2019.1.1) и не могу получить ни модульное тестирование Catch2, ни Doctest для запуска теста. Я предпочитаю Doctest и использовал его первым, и когда это не сработало, я попробовал Catch2 и получил тот же результат. Обе платформы находят тест, но дают статус «Неокончательный тест не запущен». Предупреждение Catch2 гласит: «2019.05.19 08: 47: 46.447 WARN Элемент Тест CatchTest был оставлен в ожидании после его завершения.
". Весь код ниже для Catch2:
Engine.h
#pragma once
#include "pch.h";
#include <SDKDDKVer.h>;
int wWinMain( dv* ghInst, dv* ghPrevInst, dv* gupCmdLine, dsd gsdCmdShowFlag);
int test();
Engine.cpp
#include "pch.h"
//#include "..\DocTest_2_2_2.h"
#include "..\Catch_2_7_2.h"
#include "Engine.h"
int wWinMain( dv* ghInst, dv* ghPrevInst, dv* gupCmdLine, dsd gsdCmdShowFlag) {
return 0;
};
int test() { return 3; }
TEST_CASE("CatchTest Test") {
REQUIRE(test() == 3);
}
DocTest.cpp (Используя код Catch2, код DocTest закомментирован)
#include "pch.h"
//#define DOCTEST_CONFIG_IMPLEMENT
//#include "..\DocTest_2_2_2.h"
#define CATCH_CONFIG_MAIN
#include "..\Catch_2_7_2.h"
Я обнаружил, что такая проблема возникла в разговорах о предыдущих версиях Visual Studio и Resharper, но я использую последние версии и все еще имею проблему.
В опциях Resharper я выбрал «Включить поддержку Catch», выбранный в «Тестах C ++», а также «Включить поддержку MSTest», выбранный в «MsTest». У меня есть архитектура x64, выбранная как для модульных тестов, так и для всех параметров конфигурации проекта.
Любая помощь с этим приветствуется. Спасибо.