1.测试函数
在编写完代码后进行对代码测试是否有错误
2.pytho标准库中的模块unittest为代码测试工具
例如:
name_function.py 模块名
def get_formatted_name(first, last):
full_name = first + ' ' + last
return full_name.title()
test_name_function.py 模块名
import unittest unittest是python标准库中的函数不可更改但可以用as重新命名
调用函数unittest模块
from name_function import get_formatted_name
从模块mycar中调用get_formatted_name
class NamesTestCase(unittest.TestCase):
可先导入模块unittest以及要测试的函数,再创建继承unittest.TestCase的类
def test_first_last_name(self): 创建函数必须包含创建模块名中的字样例如现在的‘test’
创建函数继承unitte.TestCase的类
formatted_name = get_formatted_name('janis','joplin')
为函数赋值实参并传递给变量
self.assertEqual(formatted_name,'Janis Joplin')
assertEqual方法 测试formatted_name的值是否与‘Janis Joplin’一样
unittest.main()
当我们运行test_name_function.py模块时,所有已test——打头的方法都将自动运行
3. unittest Module中的断言方法
方法 用途
asserEqual(a,b) 核实a == b
assertNotEqual(a,b) 核实a != b
asserTrue(x) 核实x为True
assertFalse(x) 核实x为False
assertIn(item,list) 核实item在list中
assertNotIn(item,list) 核实item不在list中
4.测试类
例如:
test_survey.py 模块名
import unittest 调用方法unittest
from survey import AnonymousSurvey 从survey模块中调用AnonymousSurvey类
class TestAnonmyousSurvey(unittest.TestCase): 创建类并继承unittest.TestCase类
def test_store_single_response(self): 创建函数并赋值实例
question = "What language did you first learn to speak?" 字符串赋值变量
my_survey = AnonymousSurvey(question) 类AnonymousSurvey赋值question的值实例并传递给变量
self.assertIn('English',my_survey.responses) 用assertIn方法进行列表比较
unittest.main()
5.setUp()
你在TestCase类中包含了方法setUp(),Python将先运行
它,再运行各个以test_打头的方法
def setUp(self):
question = "What language did you first learn to speak?"
self.my_survey = AnonymousSurvey(question)
self.responses = ['English', 'Spanish', 'Mandarin']