TestNgとJavaでは、DataProviderを使用して複数のテストケースを実行できます。これは別々のテストとして実行されます。 ScalaTestやSpecs/Specs2のアナログはありますか?複数のテストケースを持つスカラテストまたは仕様2
9
A
答えて
24
ScalaTestとspecs2の両方で、データでパラメータ化するために、実行時にテストケースを作成するのは簡単です。ここでspecs2との例を示します
class BasketSpecification extends Specification {
"a basket must contain fruits" >> {
Seq(apple, banana, orange) foreach { fruit =>
("it contains: " + fruit) >> {
basket must contain(fruit)
}
}
}
}
その後、出力は次のようになります。次の仕様のに対し
A basket must contain fruits
+ it contains: apple
+ it contains: banana
+ it contains: orange
:
A basket must contain fruits
+ it contains: apple
x it contains: cake
'basket' does not contain 'cake'
+ it contains: orange
9
:
class BasketSpecification extends Specification {
"a basket must contain fruits" >> {
Seq(apple, cake, orange) foreach { fruit =>
("it contains: " + fruit) >> {
basket must contain(fruit)
}
}
}
}
のようなものを出力しますそのコンセプトは「シャー」同じテストコードがTestNGのDataProviderアプローチの「データ」である複数のフィクスチャによって「共有」されているため、ScalaTestの「ed tests」を使用しています。テストを関数として表現するScalaTestの各スタイル特性についてこれを行う方法があります。ここではWordSpecのための例です:あなたはその代わりに、単に異なるデータポイントで同じテストコードを登録するためにforループを使用することができます
http://www.scalatest.org/scaladoc-1.6.1/#[email protected]
。その場合には
http://groups.google.com/group/scalatest-users/browse_thread/thread/7337628407b48064#
ザループコードのように見えた:これはここにある電子メールの議論の中で思いついた
for (browser <- List("IE", "Chrome", "Firefox")) {
test(browser + ": test one") { driver =>
info("Testing using " + driver)
}
test(browser + ": test two") { driver =>
info("Testing using " + driver)
}
test(browser + ": test three") { driver =>
info("Testing using " + driver)
}
test(browser + ": test four") { driver =>
info("Testing using " + driver)
}
test(browser + ": test five") { driver =>
info("Testing using " + driver)
}
}
}
これは実際には、各ブラウザのドライバーのための15回のテスト、5つのテストを登録します。これは私があなたが何をしているのかと信じています。
関連する問題
- 1. iCalendar仕様RRULE複数回?
- 2. 複数のネストされた関数を持つSinon、Chaiテストケース
- 3. 春データJPA仕様は、私が仕様を持って
- 4. コントローラの仕様と仕様の仕様
- 5. デフォルトパラメータを持つ関数のエリクシール型仕様
- 6. .NET GC仕様と複数のスレッド
- 7. rpmを作成中に複数のカーネルバージョン用の汎用仕様ファイルを持つことができます
- 8. RSpecの:複数のは、私がいないコントローラの仕様
- 9. Webserviceは仕様またはアーキテクチャです
- 10. ジャスミン2仕様には期待
- 11. Clojure仕様のvararg関数
- 12. SVFファイルフォーマット仕様または処理ライブラリ
- 13. RSpecでパラメータ化された仕様を持つことは可能ですか?
- 14. はデコレータの仕様
- 15. RSpec 2の生成仕様の理解
- 16. RSpec 2ビュー仕様のassignの使用
- 17. ゼッド仕様:プロモーションや操作を複数のスキーマを適用
- 18. のJS関数は、DOCTYPE仕様
- 19. RSpecコントローラ仕様で2つの同様のルートのうちのもう1つを呼び出す方法は?
- 20. フォーマルメソッド - 代数的仕様
- 21. Cocoapod仕様とサブ仕様別フレーム
- 22. 仕様フローテストケース2回の呼び出し
- 23. CSS:複数のインポート、または複数のスタイルシートを持つマスタースタイルシート?
- 24. 複数のフィールドまたは複数のインデックスを持つインデックス
- 25. JPA仕様の複雑なクエリ
- 26. 複数の同様のサブ選択を持つmysql updateコマンド
- 27. 1つのテストケース内の複数のページオブジェクト
- 28. Jasmine仕様に13以上の仕様がありません
- 29. ユースケース図 - 2つのアプリケーション用(ソフトウェア要件仕様書)
- 30. スクラップモバイルウェブページの仕様
質問が混乱しています。あなたは何を意味するのかの例を提供してください。 –