断言方法
简介
断言方法检测该满足的条件是否确实满足。如果该条件满足,对程序行为的假设就得到了确认,就可以确信其中没有错误。如果认为应该满足的条件实际上并不满足,Python将引发异常。
unittest Module中的断言方法
序号 | 方法 | 用途 |
---|---|---|
1 | assertEqual(a,b) | 核实a == b |
2 | assertNotEqual(a,b) | 核实a != b |
3 | assertTrue(x) | 核实x为True |
4 | assertFalse(x) | 核实x为False |
5 | assertIn(item,list) | 核实item在list中 |
6 | assertNotIn(item,list) | 核实item不在list中 |
具体实例
1.创建一个命名为 survey
的文件(文件名称可以另取
),内容是帮助管理匿名调查的类 AnonymousSurvey
,
class AnonymousSurvey():
"""收集匿名调查问卷的答案"""
def __init__(self,question):
"""存储一个问题,并为存储答案做准备"""
self.question=question
self.responses=[]
def show_question(self):
"""显示调查问卷"""
print(self.responses)
def store_responses(self,new_responses):
"""存储调查问卷"""
self.responses.append(new_responses)
def show_results(self):
"""显示收集到的所有答案"""
print("Survey results:")
for respose in self.responses:
print('-'+respose)
2.创建文件test_survey
,对 AnonymousSurvey
类的行为的一个方面进行验证:如果用户面对调查问题时只提供一个答案,这个答案也能被妥善地存储,使用方法assertIn
来核实它包含在答案列表中:
import unittest
from survey import AnonymousSurvey
class TestAnonymousSurvey(unittest.TestCase):
"""针对AnonymousSurvey类的测试"""
def test_store_single_response(self):
"""测试单个答案被妥善地存储"""
question='What language did you first lean to say?'
my_survey=AnonymousSurvey(question)
my_survey.store_responses('English')
self.assertIn('English', my_survey.responses)
unittest.main()
3.运行test_survey时,测试通过了
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK