如何单元测试我的类没有任何单元测试框架- visual studio设置
How to unit test my class without any unit test framework - visual studio setup
我在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或构建系统。
相关文章:
- 如何在提升构建中设置环境变量以进行提升单元测试框架?
- 如何在自动工具C++中添加提升单元测试框架
- 如何使用Boost单元测试框架测试Qt应用程序
- 在 Linux 上构建 cpptest 单元测试框架
- 使用C 单元测试框架集成测试Java应用程序
- Visual Studio 2017 C 本地单元测试框架不起作用
- C 单元测试框架具有类型和值参数化
- CMAKE Boost 单元测试框架在 Mac 上不起作用
- 由 Boost 单元测试框架 dll 导出的 std::basic_ostringstream 会导致"already defined symbol"错误
- Visual Studio 2012 的新C++单元测试框架是可移植的吗?
- 通过动态链接和手动设置增强单元测试框架
- 谷歌单元测试框架的链接器错误
- 用于 c++ 的单元测试框架
- While在单元测试框架内循环
- "Catch"单元测试框架 - REQUIRE_THROWS_AS
- 提升单元测试框架:包括我的代码库的主要功能
- 提升单元测试框架中的日志级别
- 在没有测试用例的情况下提升单元测试框架
- 提升单元测试框架依赖项的执行顺序
- QTestLib 单元测试框架 + Gmock (Create QTCPServer语言 - Mock Object).