这段代码在做什么,以及如何为其创建测试场景?

时间:2019-06-12 14:22:18

标签: testing

您能解释一下什么输出以及为什么吗?还想知道如何为此创建测试方案

if(a<b)
    if(a<c)
        print('a')
    else
        print('c')
else
    if(a<c)
        print('b')
    else
        print('c')

2 个答案:

答案 0 :(得分:0)

输出的内容完全取决于变量的值。如果将a bc替换为数字(假设123),您的代码将变为:

if (1<2)
    if (1<3)
        print('1')
    else
        print('3')
else
    if (1<3)
        print('2')
    else
        print('3')

现在,从第一个条件开始,让我们从逻辑上逐步进行以下操作:

if (1<2)
    if (1<3)
        print('1')
    else
        print('3')

1<2的计算结果为true,因此我们现在执行此条件的内部内容:

(1<3)
    print('1')

1小于3,因此我们打印“ 1”。就像我说的那样,这完全取决于您的变量,因此,如果您除了a=1 b=2 c=3之外还拥有其他任何内容,这可能行不通。

答案 1 :(得分:0)

这是至少三个功能;给定三个值a,b,c,它将返回最小值。

然后,您的测试应提供输入并验证该函数返回最小的值:

assertEqual(min3(1, 4, 7), 1);

例如。