問題タブ [scalatest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scalaでケースクラスとエクストラクタをモックまたはスタブするにはどうすればよいですか?
Planex
例として、 .plan ファイルの文字列を分解して元に戻す単純な抽出プログラム があります。その動作をかなり徹底的に定義するいくつかの単体テストがあります。抽出器は次のとおりです。
私はActor
これを使用するを持っています。
PlanRepo でのテストから、. を除くすべての依存関係を渡すことができましたPlanex
。そのために、私はまだ具体的な抽出オブジェクトを使用しています。したがって、私のレポテストは、実際には、個別にテストされた の動作もテストしていPlanex
ます。これを回避する方法はありますか?
このドキュメントのjson部分の階層を定義するネストされたケースクラスのセットで同様の問題があります-それらを互いに分離するのに問題があります。
unit-testing - Scaltest は仮定をサポートしていますか?
タイトルのとおり、特定のテスト ケースを定義する際に、Scalatest に「仮定」を提供できないかと考えています。このコンテキストでの仮定は、テストの前提条件であり、仮定が false と評価された場合、テストは実行されるのではなくスキップされます (それに応じてランナーによって処理されます)。
この特定のケースでは、テスト間の依存関係について考えています。したがって、メソッドが何かを返すかどうかを検証する基本的なテストがあり、その後に応答の詳細を掘り下げる後のテストが続く場合があります。前者のテストが失敗した場合、後者のテストも失敗するのではなく、何らかの方法で「実行不可」としてマークした方がよいでしょう。
つまり、将来これを使用して、接続されていない前提条件 (ハード ドライブに少なくとも 20MB の空き容量が必要など) を定義することを想像できるので、実行時にテストをスキップする一般的な方法がある場合 ( ignore
orを使用するのではなくpending
) 私はそれを聞きたいです。
特殊な構文は大歓迎ですが、特定の種類の例外を手動でスローする必要がある場合でも問題ありません。
scala - Scaltest - println をテストする方法
ステートメントを介して標準出力への出力をテストできるようにするものは Scaltest にありprintln
ますか?
今まで主に使ってきましたFunSuite with ShouldMatchers
。
たとえば、印刷された出力をどのように確認しますか
scala - sbt と testng を使用しているときに、テストでスローされた例外の完全なスタック トレースを取得するにはどうすればよいですか?
スタックトレースは切り捨てられます - 例えば、それらはで終わります[info] ...
使用しlast
たり変更したりtraceLevel
しても役に立ちません。単に sbt ラッパーの完全なスタック トレースを出力するだけです。
これはtestngでテストしています(また、scalatestとsl4jを使用していると思います)
scala - scalatest を使用する場合、sbt で Log4J 出力がありません
SBT へのログインに Log4J を使用しています。TRACE
構成ファイルで、ルート ノードのレベルを定義しました。プロジェクト ( sbt run
) を実行すると、すべてのデバッグ出力が正しく表示されます。しかし、テスト ( sbt test
) を実行すると、出力がまったく生成されません。出力を表示するには、クラスを構成に挿入する必要があります。
テストは JUnit スタイルで書かれています。Eclipse でテストを実行すると、すべての Log4J 出力が表示されます。ということで、SBT かscalatest
.
Log4J 構成:
このバージョンの構成ファイルを使用するcompile.Compiler
と、Log4J 構成でそのノードのコメントを解除しない限り、のテストでログ出力が生成されません。SBT 構成ファイルでは、これらの依存関係が次のように定義されていcompile.Compiler
ます (これは最小限の例です)。
なぜこれが起こるのか、そしてそれを止める方法を知っている人はいますか?
scala - 「保留中」を追加すると Scala テストが中断されるのはなぜですか?
以下のコメント行は私のテストを破ります
「別の it 句内に it 句が表示されない可能性があります」というエラーが表示されますが、解釈方法がわかりません。スタック トレースを編集します。
unit-testing - コレクションの内容を ScalaTest と比較する
コレクションが非常に多い Scala の単体テストを試みています。これらのコレクションは として返されるため、基になる型が異なっていても、コレクションの内容Iterable[T]
に興味があります。これは、実際には 2 つの関連する問題です。
- 順序付けられた 2 つのコレクションに同じ要素のシーケンスが含まれていると断言するにはどうすればよいですか?
- 順序付けられていない 2 つのコレクションに同じ要素のセットが含まれていると断言するにはどうすればよいですか?
要約すると、ScalaTestで NUnit のCollectionAssert.AreEqual
(順序付き) と(順序なし) の Scala に相当するものを探しています。CollectionAssert.AreEquivalent
scala - ScalaCheck のヘルプ
ScalaTest の Checkers トレイトを使用して、ScalaTest ケースから ScalaCheck を使用したいと考えています。
私が遊んでいる簡単なケースは次のとおりです。
任意の LocalDate を作成する必要があるため、これを試しました:
と言って、コンパイルしません。
エラー: パラメーター c の暗黙的な値が見つかりませんでした: org.scalacheck.Choose[org.joda.time.LocalDate] 暗黙的な val abc: Arbitrary[LocalDate] = Arbitrary(Gen.choose(new LocalDate(0L), new LocalDate(Long) .MaxValue)))
と
エラー: 見つかりません: 値 localDate check(localDate.toTimestampUTC.toLocalDateUTC == localDate)
scala - IntelliJ Idea の ScalaTest コンソール出力
IDEA がテストからコンソールに何かを出力する方法にかなり不満を感じています。Scala、ScalaTest、および IDEA のさまざまなバージョンを試しましたが、何も役に立ちません。現在、私のセットアップは次のとおりです。scala-2.10.0-snapshot、scalatest_2.9.1-1.6.1、アイデア 110.3。プロジェクトはmavenによって管理されています。誰でも助けてもらえますか?私はそのようなものを見ることを期待しています: http://www.scalatest.org/getting_started_with_feature_spec
eclipse - scala テストを scala eclipse プロジェクトに追加する
私は eclipse で scala を使い始めましたが、プロジェクトに ScalaTest を追加する際に問題があります。既に ScalaTest をダウンロードしましたが、次はどうすればよいですか? 私はjvmから始めたばかりで、迷っています...