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
coldplay.xixinach vorne
2020-07-09 17:26:272693Durchsuche

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;}

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

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen