Was soll ich für das Test-Framework verwenden [Rails]

Einführung

Vorerst habe ich die Anwendung neulich auf AWS veröffentlicht und den Test und die Implementierung des detaillierten Sicherheitsteils als Problem belassen.

Deshalb habe ich es sicher veröffentlicht, aber ich muss den Test noch implementieren, also habe ich den Test untersucht.

Als Ergebnis meiner Forschung kam ich zu dem Schluss, dass es effizienter ist, zuerst RSpec zu lernen.

Der Inhalt der Untersuchung ist nachstehend aufgeführt.

Was ist ein Test?

Damit eine Anwendung auf einem Produktionsserver ausgeführt werden kann, muss der Code für diese Anwendung wie angegeben und ohne Fehler (Bugs) funktionieren.

Beim Testen wird überprüft, ob der Code der Anwendung wie angegeben funktioniert, und es werden Fehler gefunden.

Indem wir einen Fehler finden, beheben (debuggen) wir ihn.

Referenz: [https://ja.wikipedia.org/wiki/Software Test](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88 % E3% 82% A6% E3% 82% A7% E3% 82% A2% E3% 83% 86% E3% 82% B9% E3% 83% 88)

Testrahmen

Die Tests werden auf einem sogenannten Testframework ausgeführt.

In Rails-Anwendungen werden verschiedene Test-Frameworks verwendet.

Unten finden Sie eine Liste einiger Test-Frameworks sowie eine Übersicht und Funktionen.

Kleinste Übersicht

Minitest ist ein Testframework, das standardmäßig mit Ruby geliefert wird.

Es wird standardmäßig geliefert, sodass Sie es testen können, ohne Edelsteine hinzufügen zu müssen.

Die Dokumentation finden Sie im Rails Guide (englische Version).

Referenz: https://railsguides.jp/testing.html

RSpec Übersicht

RSpec ist ein Testframework für verhaltensgesteuerte Entwicklungstools für Ruby.

Die Dokumentation finden Sie unter rspec-Rails.

Referenz: https://relishapp.com/rspec

Übersicht der Testeinheit

test-unit ist ein xUnit-basiertes Unit-Test-Framework für Ruby.

Die Dokumentation finden Sie in Unit Test Framework für Ruby.

Referenz: https://test-unit.github.io/ja/index.html

Was sind die beliebtesten Test-Frameworks?

Ich habe drei gefunden, aber für Ingenieure ist es notwendig, den Wissensstand im Internet zu bestimmen, den De-facto-Standard zu ermitteln und zu verwenden. Vor diesem Hintergrund habe ich versucht herauszufinden, welches unter den folgenden Bedingungen am häufigsten verwendet wird.

--Qiita ist die Anzahl der Artikel, die im Format "Minitest tag: Rails" gesucht werden. --GitHub verwendet Ruby als Sprache und Anzahl der durchsuchten Repositorys

Testrahmen Qiita GitHub
Minitest 366 955
RSpec 2151 11306
test-unit 428 921

Die obige Tabelle ist nicht absolut, aber RSpec scheint am häufigsten verwendet zu werden.

Natürlich sehe ich oft das Wort RSpec, also war ich überzeugt.

Was ich immer noch nicht verstehe

Die Unterschiede und Merkmale der einzelnen Testframeworks, die BDD- und xUnit-Systeme usw. wurden noch nicht geklärt, aber dieses Mal werde ich mich eingehender mit diesen Details befassen und sie beenden.

RSpec scheint das am häufigsten verwendete Testframework zu sein, daher möchte ich es zuerst verwenden und Wissen darüber sammeln, wie es aussieht.

Selbst wenn Sie tatsächlich alle verwenden und vergleichen, ist dies ineffizient.

Zusammenfassung

Es war also eine Geschichte, die zu dem Schluss kam, dass wir zuerst mit dem Erlernen von RSpec fortfahren werden.

Recommended Posts

Was soll ich für das Test-Framework verwenden [Rails]
[Java] Was soll ich zum Schreiben von Dateien verwenden?
Was muss ich tun, um die aktualisierte Docker-Datei neu zu laden?
[Rails] Ich weiß nicht, wie ich das Modell verwenden soll ...
Ich habe den Sammlungsrahmen zusammengefasst.
Wofür ist der Konstruktor?
Warum kann ich den mit gem installierten Befehl Rails verwenden? ??
[Rails] Ich habe zum ersten Mal versucht, die button_to-Methode zu verwenden
Was tun, wenn der Befehl Rails unbrauchbar wird?
[Rails] Was war die Fehlermeldung?
Was ich aus dem Studium von Rails gelernt habe
Ich habe eine Antwortfunktion für die Rails Tutorial-Erweiterung (Teil 1) erstellt.
Ich habe das Java-Framework "Quarkus" ausprobiert.
[Rails] Ich habe versucht, die Anwendung zu löschen
Ich habe eine Antwortfunktion für die Rails Tutorial-Erweiterung (Teil 5) erstellt:
Welche Klasse sollte verwendet werden, um Datum und Uhrzeit in der Rails-App abzurufen (Time, DateTime, TimeWithZone)?
Ich möchte, dass Sie Enum # name () für den Schlüssel von SharedPreference verwenden
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Ändern Sie die Standardzeitzone für die Rails-App
[Schienen] Verwendung der Kartenmethode
Bereiten Sie die Sicherheitsüberprüfungsumgebung für Rails 6 vor
Testen auf Fehlermeldungen: Rails Tutorial Notes-Kapitel 7
Wofür ist das Fassadenmuster nützlich?
Verwenden Sie die Methode l für die Zeitnotation
Ich möchte, dass Sie Scala vorerst als besseres Java verwenden
Ich suchte nach einem leichten Framework, das das plötzliche "schnell machen" beantworten würde.
Verwenden Sie [Rails], um eine Gastbenutzerfunktion zu entwickeln (für das Portfolio).
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Code zum Verbinden von Rails 3 mit PostgreSQL 10
Was ist der flüchtige Modifikator für Java-Variablen?
Ich habe zum ersten Mal versucht, Docker zu berühren
Verwenden Sie vorerst eine externe Java-Bibliothek
Ich habe die Version und die Schienen neu angegeben, aber aus irgendeinem Grund ist die neueste Version enthalten ~
Für diejenigen, die MySQL für die Datenbank in der Umgebungskonstruktion von Rails6 ~ verwenden möchten.