問題タブ [scalacheck]
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 - 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)
quickcheck - scalacheck は quickcheck にどのような機能を追加しますか?
すべてのscalacheckのものは言う:
Haskell QuickCheck にはない機能で進化し、拡張されています。
それで、それらの機能は何ですか?
unit-testing - 単純な暗黙の Arbitary を定義する
Foo
を受け取るコンストラクタを持つ型がありInt
ます。scalacheck で使用するimplicit
Arbitrary
forを定義するにはどうすればよいですか?Foo
私は次の解決策を思いつきましたが、それは少し「手動」であり、私の好みには低レベルです。
理想的には、関数をプラグインするだけでよい高次関数が必要ですInt => Foo
。
私はそれを次のように削減することができました:
しかし、もう少し簡単な方法が必要だとまだ感じています。
scala - 高階 ScalaCheck
カテゴリの次の定義を検討してください。
単項関数の例を次に示します。
現在、カテゴリはいくつかの法律の対象となっています。構成 ( .
) と同一性 ( id
) の関連付け:
これを ScalaCheck でテストしたい。整数に対する関数を試してみましょう:
しかし、これらは (i) 特定のタイプ ( Int
)、および (ii) 特定の機能 ( intG
) について定量化されます。ここで私の質問があります: 上記のテストを一般化するという点で、どこまで行くことができますか? あるいは、言い換えれば、任意のA => B
関数のジェネレーターを作成して、それらを ScalaCheck に提供することは可能でしょうか?
scala - Ubuntu 11.10 のクラスパスで ScalaCheck を使用して Scala インタープリターを起動する方法は?
Scala がインストールされ、正常に動作しています。
scalacheck.jar は /bin に配置されます。
次のコマンドを使用しました
その後、以下のコマンドを試したところ、
次のエラーが発生しました。
scalacheck の使用に間違いを犯した可能性があります。Ubuntu でインタープリター モードで scalacheck を操作できるように、修正して適切なコマンドを提供してください。
scala - Scalacheck は提供されたジェネレーターを無視しています
単純なプロパティ チェックを実装しようとしていますが、Scalacheck がジェネレーターを無視しています。ここで何が間違っていますか?
これが SBT の結果です
specs2 - ScalaCheck が私の仕様で生成された値を非常に多く破棄するのはなぜですか?
Specs2 内で ScalaCheck テスト ケースを作成しました。あまりにも多くのテストが破棄されたため、テスト ケースは放棄されました。しかし、なぜそれらが破棄されたのかはわかりません。その理由を知るにはどうすればよいですか?
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 ではありません。