我刚开始学习C++单元测试,想要得到一些关于此方面的建议。
我使用Visual Studio 2019进行开发,并选择了Catch2作为我的测试库,同时也安装了Catch2的测试适配器。
我在GitHub上阅读了Catch2和Test Adapter for Catch2的文档,但是我仍然不知道如何在Visual Studio中正确地使用单元测试。
假设我已经有一个项目,并且其中包含一些类,我想要对这些类进行测试。我应该将包含测试代码的文件放在同一个项目中,还是应该在解决方案中创建新的测试项目?
当我尝试第一种方法时,除非我注释掉项目的main()函数,否则测试资源管理器无法发现测试。而在第二个方法中,我的类方法会出现一堆未解析的外部符号错误,尽管我已经设置了正确的头文件相对路径,并从测试项目中引用了主要的项目。
我希望有人能向我展示如何在VS中使用Catch2进行单元测试。
我在GitHub上阅读了Catch2和Test Adapter for Catch2的文档,但是我仍然不知道如何在Visual Studio中正确地使用单元测试。
假设我已经有一个项目,并且其中包含一些类,我想要对这些类进行测试。我应该将包含测试代码的文件放在同一个项目中,还是应该在解决方案中创建新的测试项目?
当我尝试第一种方法时,除非我注释掉项目的main()函数,否则测试资源管理器无法发现测试。而在第二个方法中,我的类方法会出现一堆未解析的外部符号错误,尽管我已经设置了正确的头文件相对路径,并从测试项目中引用了主要的项目。
LNK2019 unresolved external symbol "public: bool __thiscall MyClass::Check(int,int)" (?Check@MyClass@@QAE_NHH@Z) referenced in function "void __cdecl ____C_A_T_C_H____T_E_S_T____0(void)" (?____C_A_T_C_H____T_E_S_T____0@@YAXXZ)
我希望有人能向我展示如何在VS中使用Catch2进行单元测试。
Catch2
文档 - 是否应该将你的cpp文件编译到测试项目中? - Vlad Feinstein