Heim > Backend-Entwicklung > Python-Tutorial > Beispielanalyse von Python-Unit-Tests und der Nutzung des Unittest-Frameworks

Beispielanalyse von Python-Unit-Tests und der Nutzung des Unittest-Frameworks

coldplay.xixi
Freigeben: 2020-07-09 17:26:27
nach vorne
2670 Leute haben es durchsucht

Beispielanalyse von Python-Unit-Tests und der Nutzung des Unittest-Frameworks

Die Beispielfrage verwendet das Anmeldemodul: Der Code lautet wie folgt

def login_check(username,password):

  ''' 登录校验的函数
  :param username:账号
  :param password: 密码
  :return: '''

  if 6<=len(password)<=18:
    if username==&#39;admin&#39; and password==&#39;123456&#39;:
      return {&#39;code&#39;:0,&#39;msg&#39;:&#39;登录成功&#39;}
    else:
      return {&#39;code&#39;:1,&#39;msg&#39;:&#39;账号密码不正确&#39;}

  else:
    return {&#39;code&#39;:1,&#39;msg&#39;:&#39;密码长度在6-18之间&#39;}
Nach dem Login kopieren

Was ist Unit-Test:

Unit-Tests (Unit-Tests) beziehen sich auf die Inspektion und Verifizierung der kleinsten testbaren Einheit in der Software
So führen Sie Unit-Tests durch:

Zuerst müssen wir Testfälle schreiben und die Hauptelemente von Testfällen für (Anzahl, Titel, Voraussetzungen, Operationsschritte, erwartete Ergebnisse, tatsächliche Ergebnisse)

Die vier Kernkonzepte des Unittest-Frameworks

1.TestCase: Eine Testfallinstanz ist ein Testfall

2.TestSuite: Mehrere Testfälle werden zusammengefasst

3. TextTestRunner: Wird zum Ausführen von Testfällen verwendet

4.fifixture: Einrichten und Zerstören der Testfallumgebung, Einrichten der Vortestumgebung (setUp), Ausführen des Testcodes (run ) und die Post-Test-Umgebung
Restore (tearDown)

Der Titel des Login-Testfalls lautet wie folgt:

Der Benutzername und Passwort sind korrekt

2. Der Benutzername existiert nicht

3 Das Passwort besteht aus weniger als 6 Zeichen

Das Das Passwort besteht aus mehr als 18 Zeichen

5. Der Benutzername ist leer, dann führen wir den Testfall aus

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(&#39;admin&#39;,&#39;123456&#39;)  #这个是实际结果
     expect=&#39;登录成功&#39;          #这个是预期结果
     
    self.assertEqual(result[&#39;msg&#39;],expect)  #将实际结果和预期结果做比较,输出完全相同则通过 输出结果是OK
Nach dem Login kopieren

  def test_username_nonentity(self):   #用户名不存在用例
    result=login_check(&#39;admininin&#39;,&#39;111222333&#39;)
    expect=&#39;用户名不存在&#39;
    self.assertEqual(expect,result[&#39;msg&#39;])  #反之,如果不通过输出结果如下图
Nach dem Login kopieren

Hinweis:

a Die Def-Methode ist ein Testfall

Der Methodenname ist der Titel des Anwendungsfalls Der Name der Case-Methode muss mit text_ beginnen

Verwandte Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonBeispielanalyse von Python-Unit-Tests und der Nutzung des Unittest-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage