我正在针对我正在开发的经过单元测试的 DLL 运行 VS2008 的代码覆盖率。对于某些功能,它声称没有覆盖 2 个块,而有 50 个左右。当我查看 VS2008 突出显示的功能时,它找不到未覆盖的块。
突出显示似乎适用于某些功能,因为它正确地为未覆盖的块显示不同的颜色。似乎不一致。
这是错误还是 PIBKAC?如果是后者,我做错了什么?
我正在针对我正在开发的经过单元测试的 DLL 运行 VS2008 的代码覆盖率。对于某些功能,它声称没有覆盖 2 个块,而有 50 个左右。当我查看 VS2008 突出显示的功能时,它找不到未覆盖的块。
突出显示似乎适用于某些功能,因为它正确地为未覆盖的块显示不同的颜色。似乎不一致。
这是错误还是 PIBKAC?如果是后者,我做错了什么?
只是一个建议,试试TestDriven.Net的代码覆盖率工具并比较结果。
我已经看到一些问题,代码覆盖分析器在 try/catch 块上关闭大括号时遇到问题。当我看到这类事情时,我只是不担心——只要我能看到实际的代码被覆盖了。
[编辑] 我会支持 TestDriven.NET 的建议。我喜欢它的右键单击测试菜单,它让我可以轻松地运行单个测试,而且我还使用 NCover 而不是内置的覆盖——主要是因为它在另一个窗口中打开并且不会在我的主编辑器中为文本着色。
确保区分覆盖块和部分覆盖块。如果我没记错的话,默认设置中的颜色是相似的。
我有一种情况,其中为枚举的每个成员选择不同路径的 switch 语句没有“默认”路径。您可以通过未突出显示的 switch 语句的括号发现未完全覆盖的块。