unittest简介
unittest是一个python版本的单元测试框架,可以用于python的单元测试。相似的其
它语言工具Java的Junit,C#的Nunit等。可以使用Unittest做单元测试,也可以完成Web
自动化测试。
- 自动化测试用例的组织和管理
- 提供丰富的比较方法,完成结果的检查
- 提供执行过程数据,如:执行时间、执行结果等
unittest语法
- Test Case:一个TestCase实例就是一个测试用例,即一个test开头的测试函数。
- Test Fixture:用于测试前的环境初始化和测试后的环境清理,通过setUp函数和 tearDown函数完成。
- Test Runner:unittest单元测试框架提供了TextTestRunner类来运行多个Test Suite或testcase。
- Test Suite:一个功能测试需要很多Test Case,可以多个测试用例统一进行执行,把 多个用例加到一个Test Suite中。
测试模板
断言方法
断言方法是unittest框架提供的一组方法,可以通过这些方法完成期望结果和实际结果的对比。
- assertEqual(a,b,msg=None) 检查a==b
- assertNotEqual(a,b,msg=None) 检查a!=b
- assertIn(a,b,msg=None) 检查a in b (我一般都用这个)
- assertNotIn(a,b,msg=None) 检查a not in b
- assertTrue(a,msg=None) 检查a is true
- assertFalse(a,msg=None) 检查a is false
- assertIsInstance(obj,cls,msg=None) 检查obj是不是cls一个实例,是则pass
- assertNotIsInstance(obj,cls,msg=None)检查obj是不是cls一个实例,不是则pass
def test_admin_insert_empty_password(self): #密码为空
self.insert('qweasdq','229544QQ@qq.com','','123456')
result = self.driver.switch_to.alert.text
self.assertIn('没有输入密码',result)
self.driver.quit()