82、测试AnonymousSurvey类

2017-10-25  本文已影响0人  陈容喜

编写代码测试,对AnonymousSurvey 类的行为的一个方面进行验证:如果用户面对调查问题时只提供了一个答案,这个答案也能被妥善地存储。为此,我们将在这个答案被存储后,使用方法assertIn()来核实它被包含在答案列表中。
test_surcey.py

# -*- coding: utf-8 -*-
import unittest
from survey import AnonymousSurvey

class TestAnonymousSurvey(unittest.TestCase):
    """针对AnonymousSurvey类的测试"""
    def test_store_single_response(self):
         """测试单个答案是否会被妥善存储"""
         question = "What language did you first learn to speak?"
         my_survey = AnonymousSurvey(question)
         my_survey.store_response("English")

         self.assertIn("English",my_survey.responses)

unittest.main()

测试结果:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

Process finished with exit code 0
从结果可以看到测试通过了。其中我们定义了一个类TestAnonymousSurvey,它继续了测试类unittest.TestCase的方法和属性,代码中的方法assertIn用来检查English 是否包含在列表my_survey.responses 中,以核实这个答案是否被妥善地存储了。为了测试输入多个答案是,测试类 AnonymousSurvey是否能正常运行。修改代码如下: 82、测试AnonymousSurvey类
82、测试AnonymousSurvey类

从结果可以看到这两个测试都通过了。
其中第20行代码使用for循环遍历预料的答案并存储起来,在23行也使用一个for循环是为了使用方法assertIn核实存储的答案。

上一篇下一篇

猜你喜欢

热点阅读