Ich versuche das Testen für ein in Java geschriebenes Programm zu automatisieren. Das Problem, das ich habe, ist, dass es eine Möglichkeit gibt, weitere Testfälle hinzuzufügen/zu entfernen, ohne den Code zu ändern.Test mit wechselnden Testfällen in Java automatisieren
Sie haben beispielsweise zwei Zeichenfolgen und möchten überprüfen, ob sie sich in einer Liste von Zeichenfolgen befinden. Sie übergeben die Zeichenfolgen und überprüfen. In Java-Code könnte ich eine if-Anweisung machen und prüfen, ob die beiden Strings mit einer Zeichenfolge in einer gegebenen Liste übereinstimmen. Wenn ich jedoch mehr Strings hinzufügen wollte, um aus dieser Liste zu suchen, müsste ich zurück zum Programm gehen und mehr Code hinzufügen.
Wahrscheinlich ein schlechtes Beispiel, aber ich hoffe, Sie verstehen meinen Standpunkt. Natürlich kann es noch viel mehr Testfälle geben, die völlig unterschiedlich sein können. Und wenn ich das Programm jemand anderen geben wollte, könnte es auch sein eigenes hinzufügen.
Ich dachte daran, eine Art Vorlage mit Argumenten und Methodennamen zu erstellen, die außerhalb des Codes aufgerufen werden. Im Grunde eine Datei mit Regeln. Der Java-Code wird dann interpretieren, was mit den gegebenen Regeln zu tun ist. Ich habe das gelesen: https://blog.codecentric.de/en/2016/01/robot-framework-tutorial-2016-keywords/, aber ich verstand es nicht wirklich.
Mein Ziel ist es, generischen Java-Code zu schreiben, der eine Template-Datei interpretieren und die dort definierten Testfälle ausführen kann. Jede Hilfe wäre willkommen, danke!
Beispiel:
Vorlagendatei
Details: Checks if String in database
Method: testID
Arguments: Hello
Foobar.java
public class Foobar {
public void testID(String str1)
{
// Expected output will be taken from a database
Assert.assertEquals(str1, expected_output);
}
}
Der String str1
kann aus der Vorlagendatei unter Argumente genommen werden.
Das Problem dabei ist, dass, wenn ich jetzt testen möchte, ob str1
eine bestimmte Länge ist, würde ich zurück gehen und mehr Code hinzufügen. Das wäre in Ordnung, wenn das Programm nur für mich und mein Team wäre. Wenn Sie es jedoch einer anderen Firma oder Person geben, die nicht programmieren kann, aber ihre eigenen Tests durchführen möchte, wird es nicht so funktional sein. Deshalb habe ich gehofft, dass eine Person, die nicht im Team ist, einfach ihren Testfall hinzufügen könnte, wenn sie dem Format des Templates folgt und das Java-Programm weiß, was damit zu tun ist.
Es tut mir leid, ich weiß nicht, wie ich es so gut erklären soll. Ich hoffe, es ist nicht verwirrend.
Wenn Sie uns die Struktur des Projekts zeigen, können wir Ihnen helfen. – Arman
Hinzugefügt etwas mehr zum OP. – Vylic