2009-07-18 4 views
17

Java türlerimin birim test edilmesine yardımcı olmak için sahte nesneler kullanmayı bildiğim, ancak esnekliğin gayretli ve hantal test türlerine ve çok fazla tekrarlamaya yol açabileceğini öğreniyorum.Scala'yı test birimi Java'ya mı kullanıyorsunuz?

Orta başarı ile ünite testleri için Groovy kullanmayı inceledim. Scala'yı kendisi için öğrenmekle ilgileniyorum, ancak Java'yı test etmek için kullanmayla ilgili bazı tavsiyeleri de istiyorum. Scala'nın bunu yapması konusunda herhangi bir tavsiyesi veya referansı olan var mı?

Ben ScalaTest gibi, Scala birim test için araçlar var olduğu gördüm:

Güncelleme sonrasında ben netleştirmek için. ve ScalaCheck, ancak test mekaniğinin nasıl yapıldığına odaklanıyorlar. Birim testinin Scala ile nasıl ele alınması gerektiğine dair bazı en iyi uygulamalar ve/veya ipuçları ve ipuçları arıyorum. Örneğin, Javaworld JUnit best practices article ya da anti-patterns listesinin bir karşılığı, ortak tuzakları veya yararlı kuralları belirtmek için.

+0

Eğer bu belirsiz ifade ederseniz, Daniel yazdığınız en iyi şey ne yazıyorsa korkarım. –

+0

Bunu nasıl yeniden önermemi önerirsiniz? Bana göre "Bunu yapmak için Scala'yı kullanma konusunda herhangi bir tavsiye veya referans var mı?" Oldukça net –

cevap

7

Java'yı test etmek için kesinlikle Scala'yı kullanabilirsiniz. Aslında, Scala test çerçevelerinin JUnit ile bütünleştiği için, testleri Scala'da yazabilir ve bunları Eclipse ile JUnit arasında çalıştırabilirsiniz.

Üç önemli çerçeve vardır: ScalaTest, genel, çok esnek; ScalaCheck, bir Haskell test çerçevesine dayanarak, sizin için koşulları test etmek için rastgele veri üretir; Spesifik olarak, ScalaTest'e benzer genel, ancak daha BDD yönelimli bir sözdizimine sahiptir.

+0

Mümkün olduğunu biliyorum, bu konuda bazı rehberlik arıyordum, eğer bu sorudan açık değildi üzgünüm. –

+0

Intelli Java'yı java & scala mix geliştirme için kullanmanızı tavsiye ederim. Geçenlerde scala (http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html) ile birim testleri yazmaya başladım ve Eclipse'den aldığım tek şey başım ağrıyordu. –

0

Derlemenin oldukça yavaş olabileceğini unutmayın. Java programlama yaparken, Scala'da programlama yaptığımdan çok daha sık testler yapmak için kısayol tuşlarına bastığımı fark ettim. Aslında, Scala'da SBT'nin arka planda oturması, kodunuzu sürekli olarak test etmesi gibi bir şeylere sahip olmak istersiniz. Bu demektir ki - eğer ilgilendiğiniz Scala'da yazılmış testlere sahipse - bunu rahat bir hale getirmek için biraz daha fazla çekmeniz gerekebilir.