路径测试是否为数字

时间:2019-03-02 17:26:22

标签: vb.net testing exit

这可能是一个愚蠢的问题,如果是这样,我表示歉意。

我试图为我在VB中工作的一些代码找出确切的路径数。我了解路径测试。大多。但是,我给出了带有退出子项的ELSE条件的IF语句。

我的程序只有4个IF语句,用于检查4个带有等数字的文本输入。如果它们是数字,则继续进行所有操作,完成计算,并在标签中显示结果。一切对世界都是正确的。但是,如果输入不是数字,则IF语句的ELSE部分会弹出有关该问题的文本框,然后退出子目录以避免错误。这些ELSE语句是否具有退出子程序的预期结果的单独路径?还是程序继续运行,仅仅是到达另一个IF语句还是结果的最后显示的路径?

我感谢您可以提供的任何说明。

1 个答案:

答案 0 :(得分:1)

在“解决方案资源管理器”中右键单击该项目,然后选择“分析”,然后选择“计算代码度量”。将显示圈数复合体(计算代码做出的决策数)。

对于以下情况,圈复杂度为5。(是的,Else语句是单独的路径。)

Module Module1
    Sub Main()
        Dim text1 As String = "abc"
        Dim text2 As String = "1bc"
        Dim text3 As String = "12c"
        Dim text4 As String = "123"

        If Not IsNumeric(text1) Then
            Console.WriteLine("Error -- text1!")
            Exit Sub
        ElseIf Not IsNumeric(text2) Then
            Console.WriteLine("Error -- text2!")
            Exit Sub
        ElseIf Not IsNumeric(text3) Then
            Console.WriteLine("Error -- text3!")
            Exit Sub
        ElseIf Not IsNumeric(text4) Then
            Console.WriteLine("Error -- text4!")
            Exit Sub
        End If

        Console.WriteLine("Do happy path processing")
    End Sub
End Module