【发布时间】:2021-01-30 11:33:31
【问题描述】:
我正在使用 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 Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform TpTrace 警告:0 : 13924, 3, 2020/10/15, 14:33:27.926, 1817417335033, testhost.exe,TestPluginDiscoverer:无法从 文件'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.VisualStudio.Coverage.Interop.dll'。 跳过此文件的测试扩展扫描。错误: System.BadImageFormatException:无法加载文件或程序集 'Microsoft.VisualStudio.Coverage.Interop' 或其依赖项之一。 试图加载格式不正确的程序。文件 名称:'Microsoft.VisualStudio.Coverage.Interop'"
我机器上的 Visual Studio 安装程序确认 Boost.Test 测试适配器已安装。
【问题讨论】:
标签: c++ boost vstest vstest.console.exe boost.test