Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在VisualStudio本机单元测试中,是否可以将单元测试与项目耦合?_C++_Visual Studio_Unit Testing_Project - Fatal编程技术网

C++ 在VisualStudio本机单元测试中,是否可以将单元测试与项目耦合?

C++ 在VisualStudio本机单元测试中,是否可以将单元测试与项目耦合?,c++,visual-studio,unit-testing,project,C++,Visual Studio,Unit Testing,Project,我有一个解决方案,有三个项目 Solution -Project 1 -Project 2 -Project 3 最近,我想实施一个单元测试(或集成测试),以确保一切都正常工作,我有CppUTest的经验,但我想看看VS提供的任何东西是否可以“更好”地集成起来 因此,我遵循一个指南,它引导我进入另一个项目 -单元测试项目(又名项目4),从外观上看,它只是一个类 Solution -Project 1 -Project 2 -Project 3 -Project 4 (Unit test, te

我有一个解决方案,有三个项目

Solution
-Project 1
-Project 2
-Project 3
最近,我想实施一个单元测试(或集成测试),以确保一切都正常工作,我有CppUTest的经验,但我想看看VS提供的任何东西是否可以“更好”地集成起来

因此,我遵循一个指南,它引导我进入另一个项目

-单元测试项目(又名项目4),从外观上看,它只是一个类

Solution
-Project 1
-Project 2
-Project 3
-Project 4 (Unit test, testing Project 1)
所以我想知道维护单元/集成测试环境的好做法是什么

可能是

一个单元测试项目,多个单元测试类,每个项目一个

Solution
-Project 1
-Project 2
-Project 3
-Project 4 (Unit test, testing Project 1, 2 and 3)
Solution
-Project 1
-Project 2
-Project 3
-Project 4 (Unit test, testing Project 1)
-Project 5 (Unit test, testing Project 2)
-Project 6 (Unit test, testing Project 3)
每个工作项目的单元测试项目 一个单元测试项目,多个单元测试类,每个项目一个

Solution
-Project 1
-Project 2
-Project 3
-Project 4 (Unit test, testing Project 1, 2 and 3)
Solution
-Project 1
-Project 2
-Project 3
-Project 4 (Unit test, testing Project 1)
-Project 5 (Unit test, testing Project 2)
-Project 6 (Unit test, testing Project 3)
只需将单元测试类应用于现有项目(不确定是否可行)


第三种选择可能吗?

与公认的答案相反,我想说的是,一定要将测试代码放在一个单独的项目中。您是创建单个测试项目还是创建多个测试项目是一个意见问题,但是有很好的理由不将测试代码放入发布代码中

主要原因是您不想将单元测试库链接到发布代码中。这在我的书中是不可接受的,据我所知,VisualStudio有一个明确的“1项目=1库”方法,所以我不知道您如何避免这种情况

每个项目使用一个单元测试库意味着您可以独立于其他项目开发项目,并且可以轻松指定要运行的测试,而不必为整个解决方案运行测试。你甚至可以在你写的时候设置连续的测试来更快地获得代码的反馈(实际上不确定是否有人为C++工作,至少对于管理语言来说是很常见的)。p>
此外,如果您使用的是Microsoft的单元测试框架,那么您可以使用模板,该模板还强制您为测试创建单独的项目

我会说这是一个意见的问题,因此这个问题“主要是基于意见”是离题的。