Test yönteminin adını otomatik olarak hata ayıklama konsoluna vermek için, yönetilen VS C++ test kodundaki TestContext sınıfının TestAdı üyesini nasıl kullanabilirim?Yönetilen C++ Testlerinde TestContext.TestName Kullanma
Bulabildiğim her örnek C# 'da bulunuyor ve C++' yı düzgün bir şekilde çeviremiyorum. Burada, statik ClassInitialize yöntemi sırasında bir TestContext nesnesini yakalayarak bunu yapmaya çalışırım, ancak bu çalışmaz.
#include <windows.h>
#include <msclr/marshal_cppstd.h>
using namespace Microsoft::VisualStudio::TestTools::UnitTesting;
[TestClass]
public ref class SampleTestClass
{
public:
[TestMethod]
void testMethod1()
{
}
[TestMethod]
void testMethod2()
{
}
[TestMethod]
void testMethod3()
{
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Tests Setup and Teardown //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static TestContext^ myTestContext;
[TestInitialize]
void testCaseInitialize()
{
msclr::interop::marshal_context context;
std::wstring testName = context.marshal_as<std::wstring>(myTestContext->TestName);
std::wstring dbgSend = L"initializing " + testName;
::OutputDebugString(dbgSend.c_str());
}
[TestCleanup]
void testCaseCleanup()
{
msclr::interop::marshal_context context;
std::wstring testName = context.marshal_as<std::wstring>(myTestContext->TestName);
std::wstring dbgSend = L"tearing down " + testName;
::OutputDebugString(dbgSend.c_str());
}
[ClassInitialize]
static void testClassInitialize(TestContext^ context)
{
myTestContext = context;
}
[ClassCleanup]
static void testClassCleanup()
{
}
};
Çıktı
[9404] initializing testMethod1
[9404] tearing down testMethod1
[9404] initializing testMethod1
[9404] tearing down testMethod1
[9404] initializing testMethod1
[9404] tearing down testMethod1
İstenilen Çıktı
[9404] initializing testMethod1
[9404] tearing down testMethod1
[9404] initializing testMethod2
[9404] tearing down testMethod2
[9404] initializing testMethod3
[9404] tearing down testMethod3