如何使用vstest.console.exe运行BOOST测试



我正在使用BOOST测试来测试我的C++代码。测试通常如下所示,并且测试项目构建为exe。为了收集代码覆盖率信息,我希望能够使用vstest.console.exe运行我的测试,这样我就可以尝试使用它的/Enablecodecoverage选项。

#include <boost/test/unit_test.hpp>
... other includes ...
class TestContext {...}
BOOST_AUTO_TEST_SUITE(MyTests);
BOOST_FIXTURE_TEST_CASE(SomeTest, TestContext)
{
// test code 
}
BOOST_AUTO_TEST_SUITE_END()

我不断地遇到";.exe中没有可用的测试。请确保测试发现程序&遗嘱执行人已注册,平台&框架版本设置合适,请重试"在这一点上我一无所知。

当使用--diagnostic选项运行时,我在生成的文件中看到了这一点:

"C: \Program Files(x86(\Microsoft VisualStudio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform TpTrace警告:0:139242020/10/15,14:33:27.926,1817417335033,testhost.exe,TestPluginDiscover:未能从加载扩展文件"C:\Program Files(x86(\Microsoft VisualStudio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft。VisualStudio。新闻报道Interop.dll"。正在跳过对此文件的测试扩展扫描。错误:系统BadImageFormatException:无法加载文件或程序集"微软。VisualStudio。新闻报道Interop或其依赖项之一。试图加载格式不正确的程序。文件name:'Microsoft。VisualStudio。新闻报道Interop";

我的机器上的Visual Studio安装程序确认Boost。测试测试适配器已安装。

想明白了。问题是TestAdapter路径正确。我有Boost。测试适配器已经安装(如果您没有安装,您可以从VS安装程序中执行此操作(。适配器位于我的计算机上C:\Program Files(x86(\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions和vstest.console.exe下的文件夹中,即使我提供了根目录的路径(如/TestAdapterPath:"C: \Program Files(x86(\Microsoft Visual Studio\2019\Enterprise"。

最新更新