假设 sldv.test 在函数中本身不一定是"executed"或"called",而是仅仅作为表示SLDV在分析函数时使用所需行为的方式 . 我知道 sldv.test 实际上并没有't intended to be intermixed with control flow in your function, because SLDV isn'执行这个控制流程 .
另外,考虑一下这样一个事实,即如果要为函数 exclusively 添加新的控制逻辑(例如for循环或if语句)以指定如何定义 sldv.test ,那么这也会无意中添加无关的覆盖目标(例如,您的for循环将具有与之关联的Decision coverage目标) . (不确定是否's relevant to your situation, but figured I' d扔掉那个以防万一)
1 回答
它说help page for sldv.test
假设
sldv.test
在函数中本身不一定是"executed"或"called",而是仅仅作为表示SLDV在分析函数时使用所需行为的方式 . 我知道sldv.test
实际上并没有't intended to be intermixed with control flow in your function, because SLDV isn'执行这个控制流程 .另外,考虑一下这样一个事实,即如果要为函数 exclusively 添加新的控制逻辑(例如for循环或if语句)以指定如何定义
sldv.test
,那么这也会无意中添加无关的覆盖目标(例如,您的for循环将具有与之关联的Decision coverage目标) . (不确定是否's relevant to your situation, but figured I' d扔掉那个以防万一)我认为你最好的选择是避免在for循环中使用
sldv.test
并尝试向量化测试表达式 . 使用您的示例,看起来像这样:这应该具有指定rowValues的所有元素等于行的期望行为 .
这是一个关于vectorization in MATLAB的更多信息的链接 .