Unit testing 组织现有代码的单元测试 我最近收到了一个新的任务,用C++ Visual Studio来维护和改进C++中的现有代码。代码构建到exe文件(而不是dll)中。我想为代码添加单元测试,我遇到的问题是如何组织我的测试项目。基本上我想有两个项目,一个是我收到的原始项目,第二个是测试项目

Unit testing 组织现有代码的单元测试 我最近收到了一个新的任务,用C++ Visual Studio来维护和改进C++中的现有代码。代码构建到exe文件(而不是dll)中。我想为代码添加单元测试,我遇到的问题是如何组织我的测试项目。基本上我想有两个项目,一个是我收到的原始项目,第二个是测试项目,unit-testing,Unit Testing,我在互联网上看到,通常当被测试的对象被构建到一个dll中时,你很容易在测试项目中静态链接从主项目构建的库,并且你可以访问被测试的函数。但是,当测试对象是一个exe文件时,如何才能做到这一点呢?当然,您可以将解决方案安排到共享代码的项目中,其中一个项目输出到exe,另一个项目输出到DLL?无论项目的可交付成果是什么,单元测试都是测试最小的单元:函数。单元测试通常遵循三层A模式:排列(为测试创建环境)、动作(调用测试中的方法)、断言(验证方法是否按预期的方式运行) 有几种可能的项目结构:修改项目,使

我在互联网上看到,通常当被测试的对象被构建到一个dll中时,你很容易在测试项目中静态链接从主项目构建的库,并且你可以访问被测试的函数。但是,当测试对象是一个exe文件时,如何才能做到这一点呢?

当然,您可以将解决方案安排到共享代码的项目中,其中一个项目输出到exe,另一个项目输出到DLL?

无论项目的可交付成果是什么,单元测试都是测试最小的单元:函数。单元测试通常遵循三层A模式:排列(为测试创建环境)、动作(调用测试中的方法)、断言(验证方法是否按预期的方式运行)

有几种可能的项目结构:修改项目,使其编译成DLL、生产可执行文件和单元测试程序。可执行源必须尽可能小,可能只是创建
应用程序
对象的
main()
函数。也可以有三个项目,一个用于DLL,一个用于应用程序,第三个用于测试

另一种方法是将单元测试嵌入到可执行文件中,并有一个调用它们的方法,例如使用一个特殊的
--单元测试
参数