Maison > Article > développement back-end > Exemple d'analyse des tests unitaires Python et de l'utilisation du framework unittest
L'exemple de question utilise le module de connexion : le code est le suivant
def login_check(username,password): ''' 登录校验的函数 :param username:账号 :param password: 密码 :return: ''' if 6<=len(password)<=18: if username=='admin' and password=='123456': return {'code':0,'msg':'登录成功'} else: return {'code':1,'msg':'账号密码不正确'} else: return {'code':1,'msg':'密码长度在6-18之间'}
Qu'est-ce que les tests unitaires :
Tests unitaires ( tests unitaires), fait référence à l'inspection et à la vérification de la plus petite unité testable dans le logiciel
Comment effectuer des tests unitaires :
Nous devons d'abord rédiger des cas de test, et les principaux éléments des cas de test Pour (numéro, titre, conditions préalables, étapes de fonctionnement, résultats attendus, résultats réels)
Les quatre concepts fondamentaux du framework unittest
1.TestCase
: Une instance de testcase est un cas de test
2.TestSuite
: Plusieurs cas de test sont rassemblés
3. TextTestRunner
: Utilisé pour exécuter les cas de test
4.fifixture
: Configurer et détruire l'environnement du scénario de test, configurer l'environnement de pré-test (setUp), exécuter le code de test (exécuter ) et l'environnement post-test
Restore (tearDown)
Le titre du cas de test de connexion est le suivant :
1. et le mot de passe sont corrects
2. Le nom d'utilisateur n'existe pas
3 Le mot de passe fait moins de 6 caractères
4. le mot de passe contient plus de 18 caractères
5. Le nom d'utilisateur est vide puis nous exécutons le scénario de test
import unittest #引用单元测试模块 from day8.登录测试代码 import login_check #将登陆模块代码引入 class Login_test(unittest.TestCase): def setUp(self): print("执行用例前都会执行这个方法,类似前置条件") def tearDown(self): print("用例执行完后 都会执行该方法") def test_login_success(self): #登录成功用例 result=login_check('admin','123456') #这个是实际结果 expect='登录成功' #这个是预期结果 self.assertEqual(result['msg'],expect) #将实际结果和预期结果做比较,输出完全相同则通过 输出结果是OK
def test_username_nonentity(self): #用户名不存在用例 result=login_check('admininin','111222333') expect='用户名不存在' self.assertEqual(expect,result['msg']) #反之,如果不通过输出结果如下图
Remarque :
a La méthode def est un cas de test
Le nom de la méthode est le titre du cas d'utilisation. Le nom de la méthode de cas doit commencer par text_
Recommandations d'apprentissage associées : Tutoriel vidéo Python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!