Jemand, der eine kleine Operation auf einem schwarzen Bildschirm ausführen kann Die Spezifikation kann beliebig sein, solange Python funktioniert
Gerätetest(Gerätetest)Was ist|Arten der Softwarevalidierung|Techmatrix Co., Ltd.
Es bezieht sich auf das Testen, ob ein Programm mit der kleinsten Granularität, aus der das Programm besteht, ordnungsgemäß funktioniert, wie z. B. die Methoden des Programms. In der IT-Branche wird es auch als Unit-Test bezeichnet.
Es gibt Bibliotheken, die Unit-Tests in jeder Sprache durchführen. Unten ist ein Beispiel
Abgesehen davon sind in Ruby usw. Minitest und Rspec der Mechanismus des Unit-Tests.
Um UnitTest in Python auszuführen, schreiben Sie eine Py-Datei, um den Testcode zu schreiben.
Weitere Informationen zum Schreiben detaillierter Tests finden Sie in der offiziellen japanischen Dokumentation.
unittest - Unit Test Framework - Python 3.8.6 Dokumentation
Erstellen Sie die folgenden Dateien mit VSCode usw.
In diesem Fall wird ein Testfall beschrieben, der absichtlich fehlschlägt.
sample.py
import unittest
class TestStringMethods(unittest.TestCase):
def test_false(self):
self.assertFalse("hoge", "hoge")
if __name__ == '__main__':
unittest.main()
Versuchen Sie als Nächstes, das Programm auf der Konsole auszuführen.
Bei der Ausführung auf der CLI können Sie UnitTest mit dem folgenden Befehl ausführen.
python3 -m unittest sample.py
======================================================================
FAIL: test_false (test.sample.TestStringMethods)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/pcuser/Documents/GitHub/pysecret/test/sample.py", line 6, in test_false
self.assertFalse("hoge", "hoge")
AssertionError: 'hoge' is not false : hoge
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
Wenn FAILD angezeigt wird und es so fehlschlägt, ist es OK Wenn ERROR angezeigt wird, liegt möglicherweise ein Grammatikproblem in Python vor. Bitte googeln Sie es.
Einige der häufigsten Fehler in Python sind: [Referenzfehlermeldung einfügen]
Danach werde ich den Testfall tatsächlich beschreiben.
Um den Test so praktisch wie möglich zu gestalten, erstellen Sie ein zu testendes Programm.
hello.py
def helloMethod(str):
msg = str
return msg
if __name__ == '__main__':
main()
Danach fügen wir inport hello
zu test.py hinzu, damit helloMethod aufgerufen werden kann.
import unittest
import hello <-So was
Dieses Mal habe ich eine Methode erstellt, um einen einfachen Papagei zurückzugeben. Was Sie als Eingabe übergeben, ist die str-Variable der Zeichenfolge, die Sie als Argument der Methode übergeben. Und der erwartete Wert ist, dass str als Ausgabe zurückgegeben wird, wenn die Methode ausgeführt wird.
import unittest
import hello
class TestStringMethods(unittest.TestCase):
# def test_false(self):
# self.assertFalse("hoge", "hoge")
def test_hello(self):
input_str = "Hello"
msg = hello.helloMethod(input_str)
self.assertEqual(msg, input_str)
if __name__ == '__main__':
unittest.main()
Verwenden Sie die Assert-Methode mit dem in der Variablen msg gespeicherten Wert, um zu überprüfen, ob das Ergebnis korrekt ist. Stellen Sie sicher, dass die Werte für input_str identisch sind.
Verwenden Sie zum Schreiben self.assertEqual
, da die Assert-Methode der UnitTest-Klasse verwendet wird.
Da es bereits in die Quelle geschrieben wurde, führen Sie denselben Befehl erneut aus, der den Start von UnitTest selbst bestätigt hat.
python3 -m unittest sample.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
Wenn auf der Konsole das Wort OK angezeigt wird, ist der Test erfolgreich.
Recommended Posts