大家好,过去一周,我一直在用不同类型的场景练习单元测试。我看到单元测试的重要性,并希望尽可能熟悉它们。下面是一个基本的倒数计时器。我想测试While循环后显示的输出。这是我试图测试的代码。
Timer = 11
while Timer > 0:
Timer = Timer - 1
print(Timer)
print("Times Up!")
这是我用于简单的Hello World计划的测试套件,但它没有用。我假设是因为我在while循环中进行了输出。那么我将如何测试" Times Up!"
import unittest
import sys
import io
from PopListTestView4 import *
class UnitTest(unittest.TestCase):
def test_Output(self):
saved_stdout = sys.stdout
try:
out = io.StringIO()
sys.stdout = out
output = out.getvalue().strip()
assert output == 'Times up!'
finally:
sys.stdout = saved_stdout
if __name__ == "__main__":
suite = unittest.TestLoader().loadTestsFromTestCase(UnitTest)
unittest.TextTestRunner(verbosity=2).run(suite)
答案 0 :(得分:1)
assert output.endswith('Times up!')
str.endswith
:https://docs.python.org/2/library/stdtypes.html#str.endswith