C++ 如何在VisualStudio中测试编译的DLL(或生成多个可执行文件)?

C++ 如何在VisualStudio中测试编译的DLL(或生成多个可执行文件)?,c++,c,visual-studio,testing,C++,C,Visual Studio,Testing,我正在开发一个需要定期测试和分析的共享库。主要目标平台是Linux(通常),因此我们的团队为buildsystem选择了自动工具(auto[scan,conf,make]+libtool+pkg config)。然后,客户决定,他希望他的软件也在Windows上。所以我添加了一个VisualStudio解决方案。该库在Windows上编译、链接和工作也很好,尽管我的开发周期缺乏在Windows上的适当测试 我在Linux上使用automake的测试套件,测试如下: make check -j2

我正在开发一个需要定期测试和分析的共享库。主要目标平台是Linux(通常),因此我们的团队为buildsystem选择了自动工具(auto[scan,conf,make]+libtool+pkg config)。然后,客户决定,他希望他的软件也在Windows上。所以我添加了一个VisualStudio解决方案。该库在Windows上编译、链接和工作也很好,尽管我的开发周期缺乏在Windows上的适当测试

我在Linux上使用automake的测试套件,测试如下:

make check -j2
它编译10个可执行文件(客户机-服务器对),这些文件链接到我的库(已在同一构建系统上构建)并运行它们(成对、有序)。输出为:

make[3]: Entering directory 'somefakepath/libfoo/test'
PASS: tcp_client
PASS: tcp_server
PASS: tcp_client_control
PASS: tcp_server_control
PASS: udp_client
PASS: udp_server
PASS: udp_client_raw
PASS: udp_server_raw
SKIP: udp_client_rtp
SKIP: udp_server_rtp

========================================================
Testsuite summary for libfoo 5.0.1
========================================================    
# TOTAL: 10
# PASS:  8
# SKIP:  2
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
========================================================
问题是我在VisualStudio中找不到同样的方法。我可以向解决方案中添加另一个项目(使可执行文件而不是库),但据我所知,在VisualStudio中,不可能从单个项目生成多个可执行文件。而且,添加十个项目是不对的,因为每个项目的许多配置参数都设置为相同的值。。。而且,选择具有多个线程的单个可执行文件也不是很好(我将不得不更改许多行,合并许多[=10]文件)


那么如何在VisualStudio上测试我的库呢?或者从单个项目中的多个文件生成多个exetable?(我可以手动运行它们)

如果可执行文件之间的唯一区别是一些条件编译宏,那么您应该创建一个具有多个配置(即udp_客户端_原始配置、udp_服务器_原始配置)的可执行项目 配置等)。如果它们在其他方面有所不同,您可能仍然需要创建单独的项目。请注意,无需将多个配置参数设置为相同的值-您可以创建一次属性表,然后将其附加到所有项目


从单个项目生成多个可执行文件没有问题。您只需要使用Visual Studio中的批生成或命令行中的msbuild一次生成多个配置。也可以设置一个项目,将它们成对启动以进行测试。

Nope。我的可执行文件非常不同,clien/server程序,通过预定义的协议进行通信…@sorush-r然后采用第二种方法创建几个项目。