1 # incoding=gbk
2
3 """
4 unittest Module中的断言方法,只能在继承unittest.TestCase的类中使用这些方法
5 assertEqual(a, b) 核实a == b
6 assertNotEqual(a, b) 核实a != b
7 assertTrue(x) 核实x为True
8 assertFalse(x) 核实x为False
9 assertIn(item, list) 核实item在list中
10 assertNotIn(item, list) 核实item不在list中
11 比如,方法assertEqual(返回值, 预期值)用来测试返回值和预期值是否相同,
12 使用前需要先调用模块unittest,
13 最后用unittest.main()来运行测试
14 """
15
16 import unittest
17 from name_function_middle import get_formatted_name
18
19 class NamesTestCase(unittest.TestCase):
20 """
21 测试类名要与被测试的函数相关,并包含字样Test,
22 必须继承unittest.TestCase类
23 """
24
25 def test_first_last_name(self):
26 formatted_name = get_formatted_name('line','vipper')
27 self.assertEqual(formatted_name,'Line Vipper')
28
29 def test_first_middle_last_name(self):
30 formatted_name = get_formatted_name('line','vipper','jugg')
31 self.assertEqual(formatted_name,'Line Jugg Vipper')
32
33 unittest.main()
1 # incoding=gbk
2
3 """
4 方法setUp()做了两件事情:创建一个调查对象;创建一个答案列表。存储这两样
5 东西的变量名包含前缀self(即存储在属性中),因此可在这个类的任何地方使用。
6 运行测试用例时,每完成一个单元测试,Python都打印一个字符:测试通过时打印一个
7 句点;测试引发错误时打印一个E;测试导致断言失败时打印一个F。
8 """
9
10 import unittest
11 from survey import AnonymousSurvey
12
13 class TestAnonymousSurvey(unittest.TestCase):
14 """针对 AnonymousSurvey 类的测试"""
15
16 def setUp(self):
17 """创建一个调查对象和一组答案,供使用的测试方法使用"""
18
19 question = "What language did you first learn to speak?"
20 self.my_survey = AnonymousSurvey(question)
21 self.responses = ['english','spanish','mandarin']
22
23 def test_store_single_response(self):
24 """测试单个答案会被妥善存储"""
25
26 self.my_survey.stored_responses('english')
27
28 self.assertIn('english',self.my_survey.responses)
29
30 def test_store_three_response(self):
31 """测试三个答案会被妥善存储"""
32
33 for response in self.responses:
34 self.my_survey.stored_responses(response)
35
36 for response in self.responses:
37 self.assertIn(response,self.my_survey.responses)
38
39 unittest.main()