問題タブ [quickcheck]
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.
haskell - Test.QuickCheck の拡張
テストが失敗したときに (単なるシードではなく) より良いメッセージを表示するようにQuickCheckを拡張したいと考えています。たとえば、次のようなものを作成できるようになりたいと考えています。
または ( でMonoid
「停止」しSadResult
、 で「続行」するインスタンスで、演算子の forHappyResult
に似ています)(&&)
TestResult
QuickCheck 機能を拡張するにはどうすればよいですか? あるいは、より拡張可能なランダム化されたテスト ライブラリはありますか?
ありがとう!
haskell - QuickCheck テストがランダムにハングする
私はHaskellが初めてです。簡単な関数をテストしようとして、QuickCheck テストで遊んでいますcalculateStrengthSingle
(以下の testee のソースを参照してください)。
テストはこんな感じ
私が行うと、runhaskell TestFighter.hs
出力があり(1 test)
(数値が変化している場合も0
あり4
ます)、CPU は 100% ロードされています。1分ほど何も起こりません。でプログラムを中断するとCtrl+C
、次のようなものが吐き出されます
質問:
- どこで台無しにしましたか?
- このような無限計算のケースをデバッグするにはどうすればよいですか?
haskell - Haskell QuickCheck は、多くの入力変数を持つ関数のランダム データを生成します
次の型シグネチャを持つ関数があります
最初の入力は、負でない厳密に正の整数からの値でなければなりません- 2 番目と 3 番目の入力は、閉区間 [0.0,1.0] 内にある必要があります。そうでない場合、関数は意味をなしません。
関数には次のプロパティがあります
maxIdx
とのランダム データr1
をr2
個別に生成するにはどうすればよいですか。関数choose
は知っていますが、複数の入力変数で使用する方法がわかりません。
今のところ、プロパティを fixed でテストしましたがidx
、これはテストすべき方法ではありません。
testing - QuickCheck があきらめるのはなぜですか?
QuickCheck
次のプログラムをテストするために使用しています。
反応はさまざまですが、常にメッセージを受け取ります
これは私が心配すべきことですか?または、テスト入力の性質によって、QuickCheck が実行される時間が決まりますか?
haskell - QuickCheck を使用して意図的なエラー状態をテストする
QuickCheck を使用してモナドおよび非モナドのコードをテストする方法を見てきましたが、エラーを処理するコード、つまりメッセージを出力してから呼び出すコードをテストするにはどうすればよいexitWith
でしょうか?
haskell - セグメンテーション違反でのquickCheckエラー: 11
私は「Haskell - 関数型プログラミングの技術」に取り組んでおり、本当に奇妙な問題に遭遇しました:
次の 2 つの関数を定義しています。
どちらも望ましい結果を生み出すようです。次に、次の quickCheck プロパティを定義します。
これらのプロパティはすべて、quickCheck prop_name
プロデュースで実行すると次のようになります。
私のモジュール定義は次のとおりです。
このエラー メッセージの原因は何ですか?