問題タブ [specs2]
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 - テスト構成で2.0FakeApplicationセットアップを再生します
FakeApplicationと埋め込まれたmongodbデータベースを使用するspecs2テストがあります。
FakeApplicationは、confディレクトリのデフォルトのapplication.conf構成と、各テスト用に作成されたテストデータベースの追加構成を使用します。
これは、mongodbレプリケートセットをセットアップするまで、検索で機能していました。これで、application.confにこのレプリカセットの構成が含まれます
FakeApplicationはデフォルト構成を使用するため、レプリカセットのホストが見つからないため、テストは失敗します。テスト用に別の構成を使用したいのですが、基本的にmongodb.default.replicasetエントリを削除します。mongodb.default.replicasetが単純なMap[String、String]の場合、additonalConfigurationに追加するだけで簡単になりますが、これを実行しようとすると、期待値のタイプが文字列ではなくオブジェクトであるため失敗します。また、pathパラメーターを介してFakeApplicationに別のtest.confファイルを提供しようとしました。
構成がロードされなかったため、これも機能しませんでした。
助けていただければ幸いです。ありがとう。
クリス
testing - scalaを使用したplayframework 2.x - specs2実行中のテストからロガー情報を表示するには?
specs2 を使用していくつかの簡単なテストを行い、いくつかの play.Logger.info("messsage") を挿入しましたが、どこにも表示されません...
それらをどこかに表示できるようにする方法はありますか?
また、Eclipse または intelliJ を使用してテスト コードをデバッグできることも非常に便利です。
scala - Scalacheck json とケースクラス
ケース クラスを受け取り、それを json にシリアル化するサービスを作成しています。これは、Elastic Search を実行しているインスタンスに送信されます。
次のように、scalacheck にいくつかのケース クラスを生成してもらいたいのですが、データがランダムに欠落しています。
値を入力するか、空のままにしておきます (最後の値はLong
型です。
これは簡単な部分です。問題は、生成された json が「ファイル」を省略しているだけでなく、セクション全体を省略していることです。次に例を示します。
最初の 3 つのフィールドにデータがあるケース クラスがある場合、json は次のようになります。
要するに、価値を持つということは、追加することを意味します
結果に。
このようなユースケースをどのように処理しますか?
scala - ScalaCheckの前/後/周り?
specs2 には 、 、 などの特性がBefore
ありAfter
、Around
セットアップ/ティアダウン コードで例をラップできるようになっています。
ScalaCheck プロパティの各「反復」、つまり ScalaCheck によってテストされる各値または値のセットのテスト インフラストラクチャのセットアップと破棄をサポートするものはありますか?
specs2 のさまざまな Before、After、Around 特性は、specs2 Result インスタンスを返すかスローするように設計されているように見えますが、Prop は Result ではありません。
scala - specs2 マッチャーで forall と ^^^ を組み合わせる
Specs2 では、メソッドforall
とforeach
メソッドを使用して、単一のアイテムのマッチャーを元の型の一連のアイテムのマッチャーに変換できます。また、^^^ を使用して、実際の値と期待値を照合する前に前処理することができます。しかし、どうすれば2つを組み合わせることができますか?
私はもう試した
しかし、それはコンパイルされません。
unit-testing - spec2 を使用した Seq 空のテスト
Seq[String]
aが空であるか、Scala で specs2 を使用していないかを確認するにはどうすればよいですか? seq must be empty
orを使用してseq.length must be greaterThan(0)
いますが、常に型の不一致エラーが発生します。
scala - spec2: 共通の Give をスーパークラスに移動
Specs2 では、変更可能な仕様で ScalaCheck を使用して Given/When/Then スタイルを使用しています。また、ScalaCheckGen
オブジェクトを作成する一般的に使用される Given ステップがあり、それをすべてのテストの共通スーパークラスに移動したいと考えています。そのステップ。(まあ、実際には、特性に変わりますが、それは違いを生まないかもしれません。)
ただし、私のテストには、正しい順序で実行する必要がある非常に複雑なセットアップ コードがいくつかあります。また、specs2 テスト コード用にかなり深いクラス階層が既にあり、これまでに試したすべてのトリックで実行されます。正しい順序は、実行の順序を同じに保つことに失敗しました。一見、これほど難しいことは奇妙に思えますが、もちろん、このような状況で specs2 が実際にどのように実行するかはわかりません。
したがって、私の質問は、実行の順序に大きな影響を与えることなく、どのように指定されたステップをスーパークラスまたはトレイトに移動できるかということです。
scala - ScalaCheckテストを決定論的にする
デバッグを容易にするために、specs2テストスイートのScalaCheckプロパティテストを一時的に決定論的にしたいと思います。現在、テストスイートを再実行するたびに異なる値が生成される可能性があります。これは、観察された動作の変化がコードの変更によるものなのか、生成された異なるデータによるものなのかわからないため、デバッグを苛立たせます。
これどうやってするの?ScalaCheckで使用されるランダムシードを設定する公式の方法はありますか?
sbt
テストスイートの実行に使用しています。
ボーナスの質問: ScalaCheckで使用されるランダムシードを印刷して、非決定論的なテスト実行でも再現できるようにする公式の方法はありますか?
scala - scala:specs2でこのマッチャーを実装する方法
私は次の方法を持っています:
specs2を使用してテストしたい
次のように、必須フィールドが指定されていない場合に特定のエラーが存在するかどうかをテストしたいと思います。
正常に動作しますが、次のように、冗長性を少なくするために独自のマッチャーを定義したいと思います。
ドキュメント(http://etorreborre.github.com/specs2/guide/org.specs2.guide.Matchers.html#Matchers)を確認しましたが、haveErrorのようなカスタムマッチャーを定義する方法がわかりません。お気に入り
java - sbtテストエンコーディングヒックアップ
私は地理座標を使用する作業用のJavaライブラリを作成しており、テストはScalaのspecs2で実装されています。度記号°
(非ASCII文字)を含む文字列に対して文字列比較を行う多くのテストがあります。
IntelliJ内からこれらのテストを実行すると、すべて合格です。また、TravisCIを渡します。しかしsbt test
、Power Shell(Windows x64)から(sbt 11.3)を実行すると、これらのテストはすべて失敗し、コンソールにはスクリーンショットに示すような不正な形式の文字列が表示されます。
何が問題になる可能性があり、どうすれば修正できますか?ファイルがUTF8でエンコードされていることを確認しました。また、他の誰かがリポジトリのクローンを作成した場合にテストを実行するだけでよいため、Java構成を変更してもあまり役に立たないことに注意してください(したがって、私のシステムでのみ問題を解決するソリューションは役に立ちません)。しかし、私はここで何が間違っているのか全くわかりません...