2009-07-18 8 views
17

Ich bin vertraut mit der Verwendung von Mock-Objekten, um Unit-Test meiner Java-Typen zu helfen, aber die Inflexibilität kann zu ausführlichen und umständlichen Testtypen und viel Wiederholung führen.Verwenden Sie Scala, um Test Java zu testen?

Ich habe mit Groovy für Unit-Tests mit mäßigem Erfolg untersucht. Ich bin daran interessiert, Scala für sich selbst zu lernen, würde mir aber auch einen Ratschlag geben, um Java zu testen. Hat jemand irgendwelche Ratschläge oder Hinweise zur Verwendung von Scala, um dies zu tun?

-Update zu klären, was ich nach:

ich, dass es Werkzeuge gesehen habe für Unit-Tests in Scala, wie ScalaTest existiert. und ScalaCheck, aber sie konzentrieren sich auf die Testmechanik. Ich suche nach Best Practices und/oder Hinweisen und Tipps, wie Unit Testing mit Scala angegangen werden sollte. Zum Beispiel ein Äquivalent der Javaworld JUnit best practices article oder eine Liste von anti-patterns, um häufige Fallstricke oder nützliche Konventionen aufzuzeigen.

+0

Ich fürchte, wenn Sie es so vage formulieren, was Daniel schrieb, ist das Beste, was Sie bekommen werden. –

+0

Wie würden Sie vorschlagen, dass ich es umformuliere? Zu mir "Hat jemand irgendwelche Ratschläge oder Hinweise zur Verwendung von Scala, um dies zu tun?" ist ziemlich klar –

Antwort

7

Sie können Scala sicherlich verwenden, um Java zu testen. Da sich die Scala-Test-Frameworks gut mit JUnit integrieren lassen, können Sie die Tests in Scala schreiben und sie von Eclipse über JUnit ausführen.

Es gibt drei wichtige Frameworks: ScalaTest, allgemein, sehr flexibel; ScalaCheck, basierend auf einem Haskell-Test-Framework, generiert zufällige Daten, um die Bedingungen für Sie zu testen; Specs, allgemein, ähnlich im Umfang von ScalaTest, aber hat eine mehr BDD-orientierte Syntax.

+0

Ich weiß, es ist möglich, ich war auf der Suche nach einer Anleitung dazu, tut mir leid, wenn das nicht aus meiner Frage klar war. –

+0

Ich empfehle dringend, IntelliJ zu Java und Scala Mix-Entwicklung zu verwenden. Ich habe vor kurzem begonnen, Unit-Tests mit scala zu schreiben (http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html) und die einzigen Dinge, die ich von Eclipse bekam, waren Kopfschmerzen. –

0

Beachten Sie, dass die Kompilierung jedoch ziemlich langsam sein kann. Ich habe bemerkt, dass ich, während ich Java programmiere, die Abkürzungstasten anklicke, um die Tests ein wenig häufiger auszuführen, als wenn ich in Scala programmieren würde. In Scala möchten Sie definitiv etwas wie SBT im Hintergrund haben und Ihren Code kontinuierlich testen. Das bedeutet, dass - wenn alles, was Sie wollen, Tests in Scala geschrieben haben - Sie vielleicht noch etwas mehr hineinziehen müssen, um es in etwas Bequemes zu verwandeln.

Verwandte Themen