gpt4 book ai didi

c# - MS 测试代码覆盖率返回不正确的结果

转载 作者:行者123 更新时间:2023-11-30 18:40:07 25 4
gpt4 key购买 nike

我已经在 MVVM 模式中编写了一个 .Net 4 WPF 应用程序,并为该应用程序编写了几个单元测试。我在 local.testsettings 中启用了代码覆盖率和检测。我的问题是代码覆盖率似乎没有返回正确的结果。它表明我的代码分析了 86%。但是,它说没有被命中的一些代码被命中了。为了证明这一点,我在代码上放置了断点并对单元测试进行了调试。断点被击中,所以代码肯定被覆盖了。为什么代码覆盖率看不到代码被命中?

我正在尝试使用 Visual Studio 2010 SP1 并从测试 View 运行测试。

有什么想法吗?

根据请求,这里有一些代码。这是整个类(class)。代码覆盖率说构造函数没有被命中,但它确实被命中了。 “Channel = item;”上的断点调试单元测试时命中行。

public class ChannelEventArgs : EventArgs
{
public ChannelEventArgs(IChannel item)
{
Channel = item;
}

public IChannel Channel { get; set; }
}

最佳答案

仅根据这么多信息,我有根据的猜测是,您在对程序集进行检测时遇到了问题。

检查我对以下问题的回答中的项目列表: Running NUnit tests in Visual Studio 2010 with code coverage

尤其是第一项(“instrument in place”)、第三项(构建到单个文件夹中)和最后一项(命令行选项/noshadow)会产生您描述的效果。

我还可以想到一种奇怪的情况,在这种情况下,您的测试代码会加载相应的程序集,但您不会编写单元测试。

关于c# - MS 测试代码覆盖率返回不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8748640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com