Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 NCover coverage report如何处理MSTest访问器?_Visual Studio 2010_Mstest_Code Coverage_Accessor_Ncover - Fatal编程技术网

Visual studio 2010 NCover coverage report如何处理MSTest访问器?

Visual studio 2010 NCover coverage report如何处理MSTest访问器?,visual-studio-2010,mstest,code-coverage,accessor,ncover,Visual Studio 2010,Mstest,Code Coverage,Accessor,Ncover,MSTest+visualstudio生成出现在NCover覆盖率报告中的访问器。在我的情况下,他们通常覆盖率很低。我想知道我是否在测试中使用它们,我正在测试的方法是否会出现在访问器中,而不是原始源代码中 如果是这种情况,这是一个问题,我需要一个解决方案。如果我理解您的场景,那么您的测试调用的任何方法都将显示在源代码中 如果测试添加了访问器,那么这些访问器也将显示在它们出现的地方,但是您可以通过排除生成的get和set方法来过滤掉它们 下面是指向exclude方法语法的链接: 我们在这里成功地

MSTest+visualstudio生成出现在NCover覆盖率报告中的访问器。在我的情况下,他们通常覆盖率很低。我想知道我是否在测试中使用它们,我正在测试的方法是否会出现在访问器中,而不是原始源代码中


如果是这种情况,这是一个问题,我需要一个解决方案。

如果我理解您的场景,那么您的测试调用的任何方法都将显示在源代码中

如果测试添加了访问器,那么这些访问器也将显示在它们出现的地方,但是您可以通过排除生成的get和set方法来过滤掉它们

下面是指向exclude方法语法的链接:

我们在这里成功地使用了regex.*.get.*.*,这只是一个例子


NCover支持

开发团队对这个问题很感兴趣,并在VS 2010中创建了一个MSTest私有访问器项目

我用MSTest在ncover3中对它进行了覆盖,看起来这些访问器反映的是源代码,而不是它的生成版本,至少在我们的测试中是这样

如果您想获得测试项目并试用,请联系我们support@ncover.com.


谢谢

我的问题不是过滤掉get和set方法。我关心的是在生成的代码(访问器)上运行的测试,而不是在原始源代码上运行的测试。好的,很抱歉偏离了轨道。如果您的测试调用了一个方法,那么将覆盖在该调用中加载的代码。通常,测试程序集被排除在外,所以只剩下源代码。希望这能回答您的问题。我认为我们必须研究Visual Studio MSTest访问器是如何工作的,以便回答这个问题。我的猜测是VisualStudio复制了代码,而覆盖的代码不是原来的代码,而是经过修改的版本。这很有趣。这些MSTest自动生成的私有访问器显然使用反射,这可能会导致您描述的行为,尽管我们在这里没有测试它。对不起,我之前没弄明白。在下一版本发布之前,我将与开发团队讨论如何测试这个场景。