微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何使用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 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测试适配器已安装。

解决方法

弄清楚了。问题是正确的TestAdapter路径。我已经安装了Boost.Test适配器(如果没有,则可以从VS Installer进行安装)。适配器位于我的计算机上的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”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?