[PYTHON] Ist es nicht in Ordnung, Testcode zu schreiben?

Dieser Artikel "hat noch nie geschrieben", "braucht nicht", "versteht nicht" den Testcode Dies ist ein Artikel, in dem Leute vorgestellt werden, die sagen: "Es gibt etwas Gutes zu schreiben."

Ich weiß überhaupt nicht, wie ich schreiben soll

Haben Sie gelernt, wie man Testcode schreibt? Apropos, du machst etwas Schwieriges, oder? Ich habe das Gefühl, dass es eine bestimmte Anzahl von Menschen gibt. Zuallererst ist der Testcode im Grunde ** Es ist ziemlich schlammig! ** ** **

Etwas zieht automatisch die Funktion in der Quelldatei, Es kann auch eine Wertbewertung sein. Aber es ist schwierig, oder?

Ich denke, es gibt Leute, die das denken. Es gab eine Zeit, in der ich das dachte. (Ich denke, Sie können es finden, aber es kostet wahrscheinlich Geld. Vielmehr können Sie Geld bekommen)

Um ein einfaches Beispiel zu geben: Eine Funktion, um die Rinde eines Hundes durch Angabe eines Landes zu erhalten

dog_bark.py


def dog_bark(country):
  if country == 'Japan':
    return u'Bow-wow!'
  elif country == 'USA':
    return u'Bow wow!'
  else:
    raise NotImplementedError

Testcode ist

test_dog_bark.py


from dog_bark import dog_bark

def test_dog_bark():
  assert u'Bow-wow!' == dog_bark('Japan')
  assert u'Bow wow!' == dog_bark('USA')

Es wird sein. Der Code besteht darin, die Funktion dog_bark tatsächlich auszuführen und direkt mit der erwarteten Ergebniszeichenfolge zu vergleichen. Schreiben wir den Testcode, um es der Welt zu sagen! Lassen Sie uns Code wie diesen in Massenproduktion herstellen! Es bedeutet das. Es ist nicht besonders schwierig. Die Testausführung ist beispielsweise Pythons Pytest

$ py.test test_dog_bark.py


 Ist in Ordnung. Selbst wenn Sie die Testfunktion erhöhen, wird der Test in der Datei ohne Erlaubnis erkannt.
 Werde es tun.
 Übrigens hat jedes Testframework in jeder Sprache so viele Funktionen.
 (Sprache mit Zusammenstellung erfordert etwas mehr Arbeit)

## Es ist ein Schmerz, einen Test zu schreiben
 Ich verstehe, wie man einen Test schreibt, aber "schließlich einfach die App starten und überprüfen"
 Korrekt. Jedoch,

 ――Wann kann die App gestartet werden?
 ――Wann können Sie die Funktion in der App überprüfen?
 ――Angenommen, Sie können es jedes Mal in der App überprüfen, wenn Sie den Code korrigieren
 Starten Sie neu, verschieben Sie den Bildschirm, geben Sie die Parameter manuell ein und überprüfen Sie sie visuell?

 ** Am einfachsten ist es, einen Zeilenbefehl in die Befehlszeile einzugeben und ihn vom PC testen zu lassen! ?? ** ** **

 Korrekt. Das Einchecken in die eigentliche App ist viel schwieriger, wenn Sie die Anzahl erhöhen.
 Ich denke, der Qualitätsanspruch ist sicherlich richtig, aber hier wage ich es
 
 Darauf bestehen. Es spielt keine Rolle, ob Sie beim Schreiben eines Tests sehr bewusst sind. (Schurke)
 Es gibt auch ein Wort, dass es Programmierern schwer fällt, Spaß zu haben.

 ~~ Wer garantiert die Qualität des Tests, wenn Sie ihn zuerst schreiben und die Richtigkeit des Tests selbst ... ~~

 Darüber hinaus kann es als vollständig angesehen werden, bis der Test bestanden ist
 ** Machen Sie sich ein Bild von Fortschritt **
 Weil es ziemlich wichtig ist.
 ~~ Wir versprechen, dass es aufgrund von Spezifikationsänderungen besser ist, es wegzuwerfen ~~

## Sie werden auch Designfähigkeiten haben
 Auch wenn Sie versuchen, während der Entwicklung einen Test zu schreiben
 Notwendige Funktionen sind nicht implementiert oder Stammdaten sind noch nicht verfügbar
 Es gibt eine solche Situation. Möchten Sie warten, bis Sie können?

 ** Sie können es schreiben, indem Sie es in Module unterteilen oder ein Modell verwenden **

 Außerdem ist der Test so geschrieben

 ** Ein sich ständig bewegender Test unabhängig von anderen Modulen und schwankenden Stammdaten **
 Es wird sein. Das ist wichtig.
 Das Ausmaß der Auswirkungen von Fehlerkorrekturen und Verbesserungen ist leicht zu erkennen.

 Natürlich erfordert es etwas Lernen und Erfahrung, um Module usw. zu unterteilen.
 Ich denke, dass es einen großen Einfluss auf das Gesamtprodukt hat, ob Sie sich dessen bewusst sind oder nicht.
 (Immerhin die Geschichte des hohen Bewusstseins)

## Zusammenfassend machen wir TDD!
 Zusammenfassend
 
 - ** Es ist einfacher, den Betrieb mit dem Testcode zu überprüfen **
 - ** Das Design sieht gut aus **

 Oder besser gesagt, dies sind normalerweise TDDs.
 ** Erstens gibt es keinen Zweck, einen Test auf TDD zu schreiben, um die Qualität zu verbessern **.
 Da der Test als Nebeneffekt bleibt, wird sich die Qualität verbessern, wenn Sie ihn zur Regression usw. verwenden, oder?
 Es ist eine Nachrüstung.
 Ich persönlich frage mich jedoch, ob sowohl Katzen als auch Schöpflöffel TDD sind.
 ** Viel Spaß mit dem Testcode! ** ** **
 Zusammenfassend.


Recommended Posts

Ist es nicht in Ordnung, Testcode zu schreiben?
Schreiben Sie Code in UnitTest, eine Python-Webanwendung
Schreiben Sie Selentestcode in Python
Qiita (1) Wie schreibe ich einen Codenamen?
Schreiben Sie Python-ähnlichen Code
chmod 600 ← 600, nicht wahr?
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Schreiben Sie Python-ähnlichen Code (Dictionary)
Mit Codetest stärken ⑦
Mit Codetest stärken ⑨
Schreiben Sie Python2-Code in Python3 um (2to3)
Mit Codetest stärken ⑤
Mit Codetest stärken ④
Mit Codetest stärken ②
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
[Memo] Zusammenfassung des Testcodes
Mit Codetest stärken ①
Mit Codetest stärken ⑧
Mit Codetest stärken ⑨
Testcode, um auf der Seite nach defekten Links zu suchen
So schreiben Sie einen Test für die Verarbeitung mit BigQuery
Wie kann doi nützlich sein, wenn man fragt, wie man Code schreibt?
Wenn Sie einen go table-gesteuerten Test in Python schreiben, ist es möglicherweise besser, subTest zu verwenden