如何单元测试我的类没有任何单元测试框架- visual studio设置

How to unit test my class without any unit test framework - visual studio setup

本文关键字:单元测试 框架 visual studio 设置 任何 我的      更新时间:2023-10-16

我在Visual Studio中有一个c++项目。它有一个类,现在我想对这个类进行单元测试。为此,我在相同的解决方案中创建了另一个控制台应用程序项目,并在该项目中创建了一个对象,称为方法并断言它返回的内容。

我唯一的问题是链接器抱怨,因为它没有对象文件或.lib文件从我正在测试的原始项目。如何导出一个库和链接它在测试项目?或者有更好的方式说测试项目为自己编译。cpp文件?

请建议。

单元测试应该与被测试的应用程序进行编译或链接。

如果您计划将单元测试visual studio项目与主应用程序visual studio项目分开,则可以创建主studio studio项目的静态或动态链接库,并将其与单元测试项目链接。

如何导出一个库并在测试项目中链接它?或者有更好的方式说测试项目为自己编译。cpp文件?

问题不在于是否使用单元测试框架,而在于在解决方案中组织应用程序代码的最佳方法是什么。

应该测试的东西应该是一个单独的静态或共享库项目,可以与不同的可执行文件链接。

您的常规应用程序应该是来自int main(int argc, char* argv[])可执行入口点的瘦委托,如:

 class Application {
 public:
       Application(int argc, char* argv[]);
       int run();
 };

所以你可以很容易地为这个类提供一个单元测试。


大多数测试框架已经提供了main()函数的适当实现来运行所有测试用例,或者您提供自己的控制台应用程序并使用assert()


顺便说一句,这不是一个局限于visual studio的问题,但它将面临任何IDE或构建系统。