草庐IT

CppUnitTestFramework

全部标签

c++ - 如何在 Visual Studio 中的 CppUnitTestFramework (C++) 中设置超时?

如何在使用CppUnitTestFramework的Microsoft单元测试中为C++中的测试方法添加超时?我在网上找到的大多数解决方案都是针对CSharp项目的,我可以在其中添加诸如[TEST_METHOD,TIME_OUT(80)]之类的行,但是在测试C++(VC++)代码时这些行不起作用我试过下面的代码#include"stdafx.h"#include"CppUnitTest.h"#include"../src/factorial_dp.cpp"#include"stdio.h"usingnamespaceMicrosoft::VisualStudio::CppUnitTes

c++ - 如何使用 CppUnitTestFramework 在 Visual Studio native C++ 单元测试中获取 $(ProjectDir) 路径?

我需要能够检索我的单元测试的项目目录路径,以便加载测试所需的一些文件。我不想对其进行硬编码,以防将来解决方案结构和绝对路径发生变化。 最佳答案 好的,我就是这样做的:在我的项目属性->配置->C/C++->预处理器中,我添加了这个预处理器定义UNITTESTPRJ="$(ProjectDir)."然后在我的cpp文件中我做了:#defineSTRINGIFY(x)#x#defineEXPAND(x)STRINGIFY(x)strings=EXPAND(UNITTESTPRJ);s.erase(0,1);//erasethefirst

c++ - 如何在 CppUnitTestFramework 中对具有 TEST_CLASS 的类使用继承

我有一个继承自另一个类的类,如下所示:classTestClass:publicBaseClass我想知道是否可以使用TEST_CLASS宏或作为C++的Microsoft单元测试框架一部分的其他宏将其作为测试类。我试过:classTEST_CLASS(TestClass:publicBaseClass)但是IDE给出了错误'Error:expectedeitheradefinitionoratagname'并且编译器错误是errorC3861:'__GetTestClassInfo':identifiernotfound我知道在测试类上继承可能是不好的做法,但它会使测试的实现更容易。