Welche Vorteile bietet die Verwendung von groovy zum Schreiben von Integrationstests für Java-Anwendungen? [geschlossen]

9

Ich habe ein paar Posts gesehen (zum Beispiel hier 1 ), der vorschlägt, mit groovy Integrationstests für Java-Anwendungen in einer groovigen Programmiersprache zu schreiben. Ich arbeite an einer Anwendung mit den folgenden Technologien: Java 7, Java EE 6, POSTGRESQL

Ich weiß, groovy ist

  • einfach mit Java zu integrieren
  • schnell Code schreiben

Aber gibt es einen besonderen Grund, es für ITs zu verwenden? Das Hinzufügen einer anderen Programmiersprache zu Ihrer Codebasis würde Ihr Leben nicht zur Hölle machen? Ich denke, ich verpasse etwas von dem Bild, also würde ich Ihre Antworten zu schätzen wissen.

    
Olimpiu POP 20.03.2013, 09:06
quelle

2 Antworten

2

Ich werde bald ein Projekt starten, das genau den gleichen Stack hat wie du, aber Groovy wird auch Produktionscode sein, nicht nur Tests.

Es gibt kein Problem beim Hinzufügen von Groovy zu Ihrer Codebase, weil es eine einfache Sprache ist. Es wäre eine andere Geschichte, wenn Sie eine Sprache einschließen würden, die nicht viel wie Java aussieht, sagen Haskell oder Prolog. Sie enthalten bereits Facelets, EL, CSS, HTML und Javascript. Welcher Teil des Hinzufügens einer anderen Sprache ist schlecht? : -)

Die wichtigsten Punkte, die ich in IT-Tests für Groovy aufrufe:

  • Einfach, Behauptungen und Scheindaten zu schreiben;
  • Prägnanz im Code;
  • Reibungslose Lernkurve;
  • Kurzer Code, um eine Browser-Automatisierung wie Geb ;
  • zu betreiben

Andere Dinge, die man in Groovy einfach vergessen sollte:

  • Einfaches Schreiben von XML / JSON (wenn Sie zum Beispiel Test-Webservices benötigen);
  • Statische Kompilierung, wenn Sie möchten;

Wir hatten Testteams in meinen zwei letzten Firmen, die nicht im Produktionscode arbeiteten, aber ziemlich schnell Tests in Groovy begannen und die Sprache genossen: keine Sorgen um Typen und Sachen, nur Arbeitstests!

    
Will 20.03.2013, 16:06
quelle
2

Ich denke, es sollte gelesen werden, da Groovy besonders gut zum Schreiben von Tests im Vergleich zu Java ist. Es gibt nichts in Groovy, das Sie in Java nicht tun können, aber es würde oft enorme Anstrengungen erfordern. So etwas wie Spock wäre in Java nahezu unlesbar.

Es sind viele kleine Dinge, die es so machen. Es gibt zum Beispiel Power-Asserts, die die Ausgabe von Assertionsfehlern von Assert-Anweisungen in Groovy sehr angenehm machen. Die nahtlose Integration ermöglicht keinen zusätzlichen Code zum Ausrichten der Sprachenwelten. Mit den DSL-Funktionen können Sie problemlos minimale DSLs schreiben, um den Standardcode zu reduzieren. All dies ist da, damit Sie sehen können, was Sie tatsächlich testen und wie. Denn wenn ein Test fehlschlägt, müssen Sie diesen Teil genau verstehen und die Zeit, die Sie für das Schreiben von Tests benötigen, reduzieren.

Alles, was ich empfehlen kann, ist, es ein wenig auszuprobieren. Es überzeugt dich dann oder nicht. Wenn Ihre Fälle sehr einfach sind, dann ist Java vielleicht gut genug für Sie. Wenn das Testen komplizierter wird, dann könnte es eine kleinere Hürde sein, etwas Groovy-Code zu verstehen. Nicht zu vergessen: Als Java-Entwickler muss man Groovy nicht zu sehr verstehen, um es richtig einsetzen zu können und schöne Unit-Tests damit schreiben zu können.

    
blackdrag 20.03.2013 16:04
quelle