C ++ / CLI单元测试代码覆盖率

时间:2015-11-24 16:24:56

标签: unit-testing c++-cli code-coverage

我对C ++ / CLI单元测试的代码覆盖率分析有疑问。

我已按照以下教程设置代码覆盖率: 的 http://blogs.msdn.com/b/jsocha/archive/2011/08/16/capturing-c-code-coverage-with-visual-c.aspx

我做的第一件事是创建三个项目:

  • Proj 1 - 包含我要测试的代码的静态库项目。
  • Proj 2 - 调用Proj 1中的代码的应用程序项目(exe)。
  • Proj 3 - 测试Proj 1代码的单元测试项目。

在Proj 1中,我只有一个包含以下代码的头文件:

int ToTest()
{
    return 5;
}

在Proj 2中我只有这个简单的主要内容:

int main()
{
    ToTest();
    return 0;
}

最后在Proj 3中,我进行了以下单元测试:

[TestMethod]
void TestMethod1()
{
    Assert::IsTrue(ToTest() == 5);
};

(以上内容基于本教程: 的 http://blogs.msdn.com/b/jsocha/archive/2010/11/19/writing-unit-tests-in-visual-studio-for-native-c.aspx

我已经按照第一个教程,并更改了Proj 2的属性以打开Profile选项和(/ OPT:NOREF)选项。我编辑了localtestrun的设置,并通过添加Proj 3的.exe来配置代码覆盖率。

我运行单元测试,然后单击代码覆盖率结果。我得到的结果如下:

生成空结果:未使用任何检测二进制文件。查看任何仪器问题的测试运行详细信息。

任何人都知道我为什么会得到这个结果?

我甚至尝试将ToTest函数移动到Proj 2并对其进行单元测试,但仍无结果。

希望有人可以提供帮助。

谢谢

0 个答案:

没有答案