一、代码展示
import unittest
class LoginTestCase(unittest.TestCase):
def test_login_success(self):
self.assertEqual({'code': 200, 'msg': '登录成功'}, self.login('kobe', '666'))
def test_login_fail(self):
self.assertEqual({'code': 201, 'msg': '账号或者密码不正确'}, self.login('kobe', '888'))
def test_not_username(self):
self.assertEqual({'code': 201, 'msg': '账号不能为空'}, self.login('', '666'))
def test_not_password(self):
self.assertEqual({'code': 201, 'msg': '密码不能为空'}, self.login('kobe', ''))
def test_not_username_password(self):
self.assertEqual({'code': 201, 'msg': '账号和密码不能为空'}, self.login('', ''))
def login(self, username, password):
if username == 'kobe' and password == '666':
return {'code': 200, 'msg': '登录成功'}
if username == 'kobe' and username != '' and password != '666' and password != '':
return {'code': 201, 'msg': '账号或者密码不正确'}
if username == 'kobe' and password == '':
return {'code': 201, 'msg': '密码不能为空'}
if username == '' and password == '666':
return {'code': 201, 'msg': '账号不能为空'}
if username == '' and password == '':
return {'code': 201, 'msg': '账号和密码不能为空'}
if __name__ == '__main__':
unittest.main()
执行结果:
继承unittest.TestCase就创建了一个测试样例,类中定义的测试方法,这些方法的命名都以 test 开头。这个命名约定告诉测试运行者类的哪些方法表示测试。
每个测试的关键是:调用 assertEqual() 来检查预期的输出
通过 setUp() 和 tearDown() 方法,可以设置测试开始前与完成后需要执行的指令。
unittest.main() 提供了一个测试脚本的命令行接口