2009-07-18 12 views
17

私は、モックオブジェクトを使って自分のJava型を単体テストするのに慣れていますが、柔軟性がないと冗長で面倒なテストの種類や繰り返しが発生することがあります。Scalaを使用してJavaテストの単位を設定しますか?

私はGroovyを使用して、中程度の成功率でユニットテストを行っています。私はScala自体を学ぶことに興味がありますが、Javaをテストするためにそれを使用することについてのいくつかの助言も欲しいと思います。 これを行うためにScalaの使用に関するアドバイスや参考資料はありますか?私が後だものを明確にする

更新:

私はScalaTestのように、Scalaで単体テスト用のツールが存在することを見てきました。 ScalaCheckがありますが、テストの仕組みをどのように行うかに焦点を当てています。 Scalaを使用して単体テストにアプローチするためのベストプラクティスやヒント、ヒントを探しています。例えば、Javaworld JUnit best practices articleの同等物またはanti-patternsのリストは、一般的な落とし穴または有用な慣習を指摘する。

+0

ダニエルが書いたことは、あなたが得る最高のものです。 –

+0

私はそれを言い換えるとどう思いますか?私には「これを行うためにScalaを使用することに関するアドバイスや参考文献はありますか?」かなり明確です –

答えて

7

確かにJavaをテストするためにScalaを使うことができます。実際、ScalaのテストフレームワークはJUnitとうまく統合されているため、Scalaでテストを記述し、EclipseからJUnitを使ってテストを実行することができます。

3つの重要なフレームワークがあります:ScalaTest、一般的、非常に柔軟性があります。 ScalaCheckは、Haskellのテストフレームワークに基づいて、あなたの条件をテストするためのランダムなデータを生成します。仕様、一般的な、ScalaTestの範囲に似ていますが、よりBDD指向の構文があります。

+0

私はそれが可能であることを知っている、私はそうすることについていくつかのガイダンスを探していた、それは私の質問から明らかでなかった場合はごめんなさい。 –

+0

IntelliJを使ってJavaとスカラミックスを開発することを強くお勧めします。私は最近、scala(http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html)で単体テストを書くことを始めました。私がEclipseから得た唯一のものは頭痛でした。 –

0

コンパイルがかなり遅くなることに注意してください。私がJavaをプログラミングしている間、私がScalaでプログラミングしているときよりもかなり頻繁にテストを実行するためのショートカットキーを打つことに気づいた。実際には、Scalaでは、SBTのようなものをバックグラウンドに置いてコードを継続的にテストしたいと思っています。つまり、あなたが気にしているのがScalaで書かれたテストをしているのであれば、それを快適にするためにはかなり多くを取り込む必要があります。

関連する問題