Beim Schreiben von Funktionen und Klassen können Sie auch Testfunktionen schreiben. Durch Tests können Sie sicherstellen, dass der Code für verschiedene Eingaben normal funktioniert. Wenn Sie Ihrem Programm neuen Code hinzufügen, können Sie ihn auch testen, um sicherzustellen, dass er die vorhandenen Routinen des Programms nicht beeinträchtigt. Testen Sie Module regelmäßig.
Testen Sie den Code mit den Tools im Python-Modul Unittest. Sie werden verstehen, wie es aussieht, einen Test zu bestehen, und wie es aussieht, wenn er nicht besteht. Sie wissen, wie Sie den Code verbessern können, wenn Sie wissen, dass der Test fehlschlägt, und Sie wissen, wie viele Tests Sie für das Projekt schreiben müssen. Wissen, wie man Funktionen und Klassen testet.
Während der Ausführung des Programms werden immer wieder verschiedene Fehler auftreten. Einige Fehler werden durch Probleme beim Programmschreiben verursacht. Beispielsweise sollte eine Zeichenfolge anstelle einer Ganzzahl ausgegeben werden. Diese Art von Fehler wird normalerweise als Fehler bezeichnet und muss behoben werden.
Das Unittest-Modul in Python stellt Codetest-Tools bereit. Unit-Test wird verwendet, um bestimmte Aspekte von zu überprüfen die Funktion. Kein Problem. Testfall ist eine Reihe von Komponententests, um sicherzustellen, dass die Funktion in allen Aspekten keine Probleme aufweist.
Testfälle mit vollständiger Abdeckung umfassen einen vollständigen Satz von Testfällen, die verschiedene mögliche Verwendungsmöglichkeiten von Funktionen abdecken.
Um eine Testfunktion für eine Funktion zu schreiben, importieren Sie zuerst das Modul Unittest und die zu testende Funktion, erstellen Sie dann eine Klasse, die unittest.TestCase erbt, und schreiben Sie eine Reihe von Methoden für die Funktion Verschiedene Aspekte des Verhaltens werden getestet. Benennen Sie es am besten mit test.
name_function.py
"""Den vollständigen Namen abrufen.""" full_name = first + ' ' + last
return full_name . title() |
import unittest from name_function import get_formatted_name class NamesTestCase(unittest.TestCase): """测试name_function.py""" def test_first_last_name(self): """能够正确地处理像Janis Joplin这样的姓名吗?""" formatted_name = get_formatted_name('janis', 'joplin') self.assertEqual(formatted_name, 'Janis Joplin') unittest.main() |
from name_function import get_formatted_nameprint("Zum Beenden können Sie jederzeit 'q' eingeben.") while True: first = input("nBitte gib mir einen Vornamen:") if first == 'q':
|
unittest importieren from name_function import get_formatted_nameclass NamesTestCase(unittest.TestCase): """Test name_function.py""" def test_first_last_name(self): 🎜>" „Können Sie mit einem Namen wie Janis Joplin richtig umgehen?“ "" |
Methode |
Zweck |
assertEqual(a, b ) | Überprüfen Sie a == b |
assertNotEqual(a , b) | Überprüfen Sie a != b |
assertTrue(x) | Überprüfen Sie, ob x wahr ist |
assertFalse(x) | Überprüfen Sie, dass x falsch ist |
assertIn(item, list ) | Überprüfen Sie, ob das Element in der Liste ist |
assertNotIn(item , list) | Stellen Sie sicher, dass das Element nicht in der Liste enthalten ist |
Die Unittest.TestCase-Klasse enthält die Methode setUp(), die es uns ermöglicht, Objekte nur einmal zu erstellen und sie in jeder Testmethode zu verwenden.
Survey.py
""Fragebogen anzeigen"" "" self.responses.append(new_response)
|
aus Umfrageimport AnonymousSurvey#Definieren Sie a Frage und erstelle ein AnonymousSurvey-Objekt, das die Umfrage darstelltquestion = „Welche Sprache hast du zum ersten Mal sprechen gelernt?“ my_survey = AnonymousSurvey(question)#Show questions and Antworten speichern my_survey.show_question()print("Zum Beenden jederzeit 'q' eingeben")while True: response = input("Language : ") if Response == 'q': break my_survey .store_response(response) # Umfrageergebnisse anzeigenprint("nVielen Dank an alle, die an der Umfrage teilgenommen haben!")my_survey.show_results() |
test_survey.py
aus der Umfrage import AnonymousSurvey class TestAnonymousSurvey(unittest.TestCase): """Test for AnonymousSurvey class""" def setUp (Selbst): "self.my_survey = anonymousSurvey (Frage) Def Test_store_Single_Response (self): """Einzelne Testantworten werden ordnungsgemäß gespeichert""" self.my_survey.store_response(self.responses[0]) self.assertIn(self.responses[ 0], self.my_survey.responses) Antworten: self.my_survey.store_response(response) self.assertIn(response, self.my_survey.res ponses) unittest.main() |
Methode setUp()
führt zwei Dinge aus: Ein Umfrageteilnehmer erstellt eine Liste mit Antworten.
Die Variablennamen, die diese beiden Dinge speichern, enthalten das Präfix self (d. h. in Attributen gespeichert), sodass sie überall in dieser Klasse verwendet werden können. Dadurch werden beide Testmethoden einfacher, da weder Umfrageteilnehmer noch Antworten erstellt werden. Verwenden Sie int(), um Zahlen einzugeben Da der von input() zurückgegebene Datentyp str (String) ist, konvertiert Python die direkt eingegebene Zahl in einen String. str kann nicht direkt mit einer Ganzzahl verglichen werden, str muss zuerst in eine Ganzzahl konvertiert werden. Python stellt die Funktion int() bereit, um dies zu erreichenheight = input("Wie groß sind Sie in Zoll? ")
height = int( Höhe) #in Ganzzahl konvertieren
Das obige ist der detaillierte Inhalt vonZusammenfassung der Python-Grundlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!