gpt4 book ai didi

.net - 独特的 CodeCoverage 突出显示

转载 作者:行者123 更新时间:2023-12-02 02:12:24 25 4
gpt4 key购买 nike

当您在 Visual Studio(激活 CodeCoverage)中运行测试时,代码会突出显示以显示代码的哪些部分已执行,哪些未执行。

有三种不同类型的突出显示,未触摸区域触摸区域部分触摸区域。以下两段伪代码示例,其中代码将被部分触及。

if (true || false)

if (false && true)

但是,当我运行测试时,我想知道我的代码是否突出显示。蓝色背景表示代码已被完全触摸,而深橙色表示代码已被部分触摸。 (最后一行的高亮是当前行)

enter image description here

这根本没有意义。由于 if 语句由逻辑 AND 运算构成,因此必须完全接触才能输入 true 语句的代码。

我认为这是一个错误,但是,我只是想澄清一下,我没有任何误解。您是否看到可以部分触及 if 语句并且引发 true 语句的任何原因?

最佳答案

我猜这是因为 if 主体从未因为测试变量为真而被跳过。有条件的并且被编译成类似于

if (!test)
goto afterBody; // 1
if (!(dummy != null))
goto afterBody; // 2
// body
afterBody:
// next statement

标有 1 的行永远不会执行,因此您的部分覆盖。

关于.net - 独特的 CodeCoverage 突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192356/

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