学习时间:9:00——11:30 16:30——18:30
1.测试代码
1.1测试函数
python标准库中的模块unittest提供了代码的测试工具
单元测试:用于核实函数的某个方面没有问题
测试用例:是一组单元测试,能够核实函数在各种情况下的行为符合要求
全覆盖测试用例:包含一整套单元测试,涵盖了各种可能的函数使用方式
def get_formatted_name(first,last):
full_name=f"{first} {last}"
return full_name.title()
import unittest
class NamesTestCase(unittest.TestCase):
def test_first_last_name(self):
formatted_name = get_formatted_name('janis','joplin')
self.assertEqual(formatted_name,'Janis Joplin')
if __name__=='__main__':
unittest.main()
首先要导入模块unittest,然后创建一个检测的类,类的名字最好看起来与要测试的函数相关并包含Test字样,这个类必须继承unittest.TestCase类并且只包含一个方法,用于检测姓名是否被正确格式化
assertEqual()是断言方法,向它传递要检测的变量名和正确的结果,如果它们相等,那么万事大吉
if代码块的特殊变量__name__的意思是如果这个文件作为主程序执行,变量__name__将被设置为__main__,然后调用unittest.main()来执行测试用例,如果这个文件是被导入的,__name__的值不是__main__,因此测试用例不会被调用
1.2测试类
上面是针对单个函数进行测试,下面是针对类进行测试
测试类和函数相差不大,只需要设置属性执行类即可
方法setUp()可以创建一个实例并设置其属性,再在测试方法中直接使用这些实例,相比在每个测试方法中都创建实例并设置属性要容易得多
今天开始实操项目《外星人入侵》(2D游戏),估计得三天