Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对while循环进行Python单元测试?_Python_Python Unittest - Fatal编程技术网

如何对while循环进行Python单元测试?

如何对while循环进行Python单元测试?,python,python-unittest,Python,Python Unittest,当我编写单元测试用例时,我不知道如何设计while循环的测试用例。 有人能给我一个guid来为下面的while循环代码片段编写单元测试用例吗? 多谢各位 def判断(arg): 如果arg>15,则flag=1,否则为0 返回标志 def while_示例(a、b): output=“NOK” 尽管如此: ret1=法官(a) ret2=法官(b) 如果ret1==0且ret2==0: 打印“a和b都正常” 输出=“确定” 打破 其他: 打印“a和b都不正常” a=-1 b=-1 返回输出 我已

当我编写单元测试用例时,我不知道如何设计while循环的测试用例。 有人能给我一个guid来为下面的while循环代码片段编写单元测试用例吗? 多谢各位

def判断(arg):
如果arg>15,则flag=1,否则为0
返回标志
def while_示例(a、b):
output=“NOK”
尽管如此:
ret1=法官(a)
ret2=法官(b)
如果ret1==0且ret2==0:
打印“a和b都正常”
输出=“确定”
打破
其他:
打印“a和b都不正常”
a=-1
b=-1
返回输出

我已经克服了这个单元测试问题,下面是我的答案

导入单元测试
导入系统
从StringIO导入*
从while\u循环导入*
来自模拟导入*
类TestJudge(unittest.TestCase):
def testJudge_1(自身):
自评资格(法官(16),1)
def testJudge_2(自身):
自我评价资格(法官(15),0)
类TestWhile(unittest.TestCase):
def测试_时_1(自身):
法官=模拟(副作用=[0,0])
out=StringIO()
sys.stdout=out
a=while_示例(1,1)
output=out.getvalue().strip()
self.assertEqual(输出,“a和b都正常”)
def测试_,而_2(自身):
法官=模拟(副作用=[1,0])
out=StringIO()
sys.stdout=out
a=while_示例(18,12)
output=out.getvalue().strip()
self.assertEqual(输出“a和b都不正常\n a和b都正常”)
如果名称=“\uuuuu main\uuuuuuuu”:

unittest.main()
为什么函数“judge”总是返回相同的内容,而不管输入是什么?我在这里看到的一个问题是,没有可以捕获的输出行为(例如“返回结果”);此函数外部发生的唯一行为是print语句。谢谢。如果ret1和ret2都不等于0,则while循环是无止境的循环。所以没有特殊的输出。我已经纠正了函数“judge”问题,并添加了输出语句。