Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/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
Unit testing VS2008代码覆盖范围-can';“找不到”;“未覆盖块”;_Unit Testing_Code Coverage - Fatal编程技术网

Unit testing VS2008代码覆盖范围-can';“找不到”;“未覆盖块”;

Unit testing VS2008代码覆盖范围-can';“找不到”;“未覆盖块”;,unit-testing,code-coverage,Unit Testing,Code Coverage,我正在对我正在开发的经过单元测试的DLL运行VS2008的代码覆盖率。对于某些函数,它声称2个块未被覆盖,50个左右被覆盖。当我查看VS2008高亮显示的函数时,它找不到未覆盖的块 高亮显示似乎与某些功能配合使用,尽管它正确地为未覆盖的块显示了不同的颜色。似乎前后矛盾 这是一个bug还是PIBKAC?如果是后者,我做错了什么?只是一个建议,请尝试中的代码覆盖率工具并比较结果。我看到一些问题,代码覆盖率分析器在try/catch块上关闭大括号时遇到问题。当我看到这类事情时,我只是不担心它——只要我

我正在对我正在开发的经过单元测试的DLL运行VS2008的代码覆盖率。对于某些函数,它声称2个块未被覆盖,50个左右被覆盖。当我查看VS2008高亮显示的函数时,它找不到未覆盖的块

高亮显示似乎与某些功能配合使用,尽管它正确地为未覆盖的块显示了不同的颜色。似乎前后矛盾


这是一个bug还是PIBKAC?如果是后者,我做错了什么?

只是一个建议,请尝试中的代码覆盖率工具并比较结果。

我看到一些问题,代码覆盖率分析器在try/catch块上关闭大括号时遇到问题。当我看到这类事情时,我只是不担心它——只要我能看到实际的代码被覆盖


[编辑]我支持TestDriven.NET的建议。我喜欢它的右键单击测试菜单,它让我可以轻松地运行单个测试,我还使用了NCover而不是内置的覆盖率——主要是因为它在另一个窗口中打开,并且不会在我的主编辑器中为文本着色。

确保区分覆盖块和部分覆盖块。如果我没记错的话,默认设置中的颜色是相似的。

我遇到过这样一种情况:为枚举的每个成员选择不同路径的switch语句没有“默认”路径。您可以通过未高亮显示的switch语句的参数来发现未完全覆盖的块。

在VS中运行单个测试很容易:而不是在解决方案(Ctrl+R/A和Ctrl+R/Ctrl+A)中运行所有测试。您可以在上下文(Ctrl+R/T和Ctrl+R/Ctrl+T)中运行测试,该上下文根据光标所在的位置运行测试。在TestClass runs类中,在TestMethod中只运行该方法。我在搜索右括号问题时遇到了您的响应。我在右大括号上有一个红色突出显示,我发现这实际上是因为缺少覆盖,而不是一个bug。我的代码在一个try/catch中,测试实际上每次都抛出一个异常,这个异常被捕获,但我的测试实际上从未到达该块的末尾,因为它总是逃到try/catch中。因此,通过使测试不抛出异常并到达块的末尾,覆盖率为100%。希望这有帮助。