テストスイートを無効にするにはどうすればよいですか?すなわち、クラス内のすべてのテストをFunSpec
に拡張しますか?ScalaTestでテストスイートを無効にする方法
私が見つけた唯一の解決策は、各テストの前にit
をignore
に置き換えることですが、数十回のテストでそれを行うのは退屈です。
テストスイートを無効にするにはどうすればよいですか?すなわち、クラス内のすべてのテストをFunSpec
に拡張しますか?ScalaTestでテストスイートを無効にする方法
私が見つけた唯一の解決策は、各テストの前にit
をignore
に置き換えることですが、数十回のテストでそれを行うのは退屈です。
1.8でこれを行う簡単な方法は、仮引数を取るコンストラクタを追加することです。 2.0では
class MySuite(ignore: String) extends FunSuite {
// ...
}
あなただけのクラスに@ignoreを書くことができるようになります::ScalaTest(およびSBT)は、公共、引数なしのコンストラクタを持っていない場合、クラスを発見しません
@Ignore
class MySuite extends FunSuite {
// ...
}
私はこれを試しましたが、私は使用していませんでしたscala 2.10.2、私を助けてください。 @BillVenners – user3995789
Tag厄介なテストとその後exclude or includeタグに基づいてテストします。
タグ付けは一度だけの作業です。
タグは1つのオプションですが、それに応じて各タグにタグを付ける必要があります。そのように完全なスーツを除外することはできません。しかし、ユーザー272735で触れたように、タグ付けテストは1回限りの作業です。
もう1つのオプションは、マスタースイートを定義し、nestedSuites
のリストを実行するスイート(see the docs)に限定することです。明らかに欠点は、マスターテストスイートを維持する、つまり新しく作成したテストスイートを追加することです。あなたは、フォルダ内を再帰的に検索し、見つけることができるすべてのテストスーツのリストを作成し、ブラックリストに入れたものを差し引くことでこれを避けることができます。さらに、フォルダを再帰的に使用すると、(外部で)指定された条件に一致するファイルをフィルタで除外することができます。
第3のオプション - よりハッキリですが、ブラックリストに追加するスイートが属するパッケージを変更することです。テストランナーを使用して、特定のパッケージに含まれるスーツのみを実行することができます。詳細は、"Specifying 'members-only' and 'wildcard' Suite paths"のドキュメントを参照してください。
@Ignoreは、明確なテストとスーツ全体の両方に使用できます。
あなたがしていることは何でも[コメントしないでください]](http://www.informit.com/articles/article.aspx?p=1334908) –