unittest 说 continue 语句没有被测试?
unittest says the continue statement is not being tested?
Python 2.7.18 覆盖率 5.3(客户要求)
真的被这个难住了。在开始重构之前尝试让单元测试报告 100%。
在下面的代码示例中(当然大大简化了),Coverage 表示没有检查 continue 语句!
class Test7(unittest.TestCase):
def test_7(self):
test7()
def test7():
for i in range(0, 3):
if i > 0:
if i > 1:
print 'loop1 iteration = ' + str(i)
continue
if i == 0:
print 'blah'
如果我在 continue 上方输入打印语句 ,它会被检查并且没有问题!
'pass' 虽然没有做同样的事情...... :(
我已经尝试了很多其他迭代,但无法弄清楚。
必须是基本的东西吗?
谢谢!
continue 行可能已被 CPython 窥视孔优化器删除,因此无法覆盖。
建议重构以避免该问题:
if i > 0:
if i > 1:
print 'loop1 iteration = ' + str(i)
elif i == 0:
print 'blah'
Python 2.7.18 覆盖率 5.3(客户要求)
真的被这个难住了。在开始重构之前尝试让单元测试报告 100%。
在下面的代码示例中(当然大大简化了),Coverage 表示没有检查 continue 语句!
class Test7(unittest.TestCase):
def test_7(self):
test7()
def test7():
for i in range(0, 3):
if i > 0:
if i > 1:
print 'loop1 iteration = ' + str(i)
continue
if i == 0:
print 'blah'
如果我在 continue 上方输入打印语句 ,它会被检查并且没有问题! 'pass' 虽然没有做同样的事情...... :(
我已经尝试了很多其他迭代,但无法弄清楚。
必须是基本的东西吗?
谢谢!
continue 行可能已被 CPython 窥视孔优化器删除,因此无法覆盖。
建议重构以避免该问题:
if i > 0:
if i > 1:
print 'loop1 iteration = ' + str(i)
elif i == 0:
print 'blah'