我以前在Visual Studio中工作不多。我在业余时间开始了一个个人项目,并且我想使用测试驱动的开发,因为它对我的Java开发有很大的好处。我很早以前就开始了这个项目,并使用了CppUnit。我知道可能还有其他更好的框架,但这就是已经存在的框架。

我的Visual Stuido 2005解决方案中有2个项目。当单元测试位于应用程序代码旁边时,它可以正常工作。随着项目规模的扩大,这变得非常繁琐和繁琐。我在解决方案下创建了一个新项目来容纳单元测试(因此现在有3个项目)。一切顺利,直到我尝试构建解决方案。一切都已编译,但是单元测试项目无法链接。对于我的测试调用的每个函数,输出给出了51个“无法解析的外部符号”错误(LNK2019)。

据我推测,问题在于Visual Studio创建的目录结构。每个项目都有其自己的目录,然后在其下方是要创建的目标文件和可执行文件。我认为问题在于,尽管头文件已正确包含在每个单元测试中,但链接器却找不到cpp文件,因为它们位于不同的目录中。如果找不到调用函数的实现,则会给我2019错误。

我对这个问题的评估正确吗?我该如何解决?我需要完全重组我的项目还是链接程序的简单配置?

谢谢

最佳答案

是的,您的评价听起来不错。请尝试以下操作:在解决方案资源管理器中,右键单击包含测试的项目的名称,然后选择“项目依赖项”。对其依赖的每个项目进行检查。那应该设置链接器设置,以便它可以自动找到正确的文件。

关于unit-testing - Visual C++ TDD设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/297687/

10-11 23:59
查看更多