問題タブ [fscheck]
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.
unit-testing - FsCheck のプロパティを考えるのが難しい
小さなサンプル アセンブリでxUnitを動作させることができました。ここで、 FsCheckも理解できるかどうかを確認したいと思います。私の問題は、関数のテスト プロパティを定義するときに困惑していることです。
関数の良いサンプル セットを持っていないだけかもしれませんが、たとえば、これらの関数の良いテスト プロパティは何でしょうか?
f# - FsCheck NUnit . 条件付きテスト
この機能のテストをしようとしています
FsCheckを使用しているので、これがあります
しかし、「代替展開のツリーが正しくありません!」という例外が表示されます。しかし、私がそのようなsmthを使用するとき
NUnit の動作が停止しない なぜそうなるのか?
f# - FsCheck で、負でないフィールドを持つテスト レコードを生成する方法は?
F# には、いくつかのフィールドを持つレコードがあります。
FsCheck を使用して、このレコードを使用するいくつかのプロパティをテストしています。(不自然な)例では、
myFunctionの内部実装制限により、フィールド a、b、c のそれぞれが非負の浮動小数点数に制限されたテスト ケースを FsCheck に作成してもらいたいと考えています。
これにはmyRecordのジェネレーターを作成する必要があると思われますが、これを行う方法の例を見つけることができませんでした。
誰でもガイダンスを提供できますか?
f# - 特定のサイズの FSCheck 生成リスト
おそらくばかげた質問ですが、FSCheck の特定のサイズのリストを生成するにはどうすればよいですか?
次を使用して制限できます:
しかし、明らかに、これは大量のリストを破棄します。
ここでfn_of_2
は、長さのみのリストに対していくつかのテストを行い、or2
を返します。true
false
f# - FSCheck ジェネレーターの使用
範囲内で double を生成する関数があります。
次に、これらのうちの 2 つの配列を生成する関数:
置いた:
Generator クラスに追加して登録します。すべて問題ないようです。これがすべて問題ないことをテストするには、次のようにします。
次に、配列ジェネレーター「arrayOfLength」を使用します。
ただし、期待どおりに動作します。
計算を開始しただけで、戻ってきません。f# の達人、助けてください。
.net - FsCheckとNUnitの統合
FsCheckテストをNUnitテストと統合したいと思います。具体的には、いくつかのFsCheckプロパティを宣言するときに、それらをVSランナーから表示および実行できるようにします。FsCheckと一緒にxUnitの使用法について次の説明を見つけました(「IRunnerを実装してFsCheckをmb | x | N | cs | Unitと統合する」の下)が、これは私が望むものではありません。それを行う方法はありますか?
f# - fscheck でデータを生成するにはどうすればよいですか?
fscheck の外部で使用するために fscheck を使用してデータ、特にリストを生成することは可能ですか? 比較結果が等しいように見える fscheck テストの状況をデバッグできませんが、fscheck はそうではないと言います。
オブジェクトのリスト用にこのジェネレーターがあります。このジェネレーターから使用できるリストを生成するにはどうすればよいですか?
.net - VS 2010 で FsCheck を使用する
Visual Studio 2010 for F# で FsCheck 0.8.3 を使用しようとしています。私はプロジェクトを作成し、サンプル行を書きました:
クイックスタートガイドより。この後、FsCheck.dll を参照に追加し、
頂点で。
実行すると、受信します
名前空間またはモジュール 'FsCheck' が定義されていません
答えが明らかな場合はご容赦ください。ただし、私はまったく新しいので、これが機能しない理由がわかりません。
testing - FsCheck使用時の例外
xUnitで実行すると、FsCheckの最も簡単なテストが実行されます
例外を受け取ります
例外をキャッチしてデバッグしようとしましたが、これを解決する方法について誰かが手がかりを得る前に発生しますか?
再現する方法:
- 新しいプロジェクトを作る
- FsCheck.xUnitNUgetをインストールします
- そのコードをfsファイルに入れます
- テストを実行します
.net - 複数の環境でのアセンブリのリダイレクト / F# 4.0.0.0 など
私は新しいマシンを受け取り、以前のマシンと同じように FsCheck テストが機能するように、マシン全体のリダイレクトをプラグインするだけで機能すると考えました。
そうではなく、 古いマシンと同様のエラーを受け取ったので、テストが他のバージョン 4.Y にバインドされている間に、FsCheck が F# 4.X をロードしていたことがわかりました。
FusionLog を有効にした後、再起動してそのビーストをアクティブにし、すべてのバインドに対して FusionLog を有効にして、再起動します。ログで犯人を見つけました:
アセンブリ マネージャのロード元:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 実行可能ファイルの下で実行 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.x86 。EXE
===プレバインド状態情報===
ログ: DisplayName = FSharp.Core、バージョン = 4.0.0.0、カルチャ = ニュートラル、
アセンブリの呼び出し: FsCheck.Xunit、Version=0.3.0.0、Culture=neutral、PublicKeyToken=null。
私はバインディングにあまり慣れていませんが、
実行時にクラッシュするのではなく、正しい dll を見つけることができるというテストを実行する前に、fscheck が文句を言わないのはなぜですか。そのような問題を処理するための優雅な方法を知りたい
バージョン 4.0.0.0 と互換性がない場合、fscheck がバージョン 4.0.0.0 をロードしようとするのはなぜですか。繰り返しますが、私が見逃しているに違いないことを理解しようとしています。これは 4.X VS 4.Y をサポートする問題ではなく、fscheck が 4.Y にバインドされている間に「ランナー」が 4.X にバインドされていることだと思います (そうですか?その場合、「最初のバインディングの再利用 ?)
マシン全体のリダイレクトが無視されるのはなぜですか。他のローカル構成ファイルよりも優先度が低いと思いますが、解決前のある段階で dotnet フレームワークがそれを調べるべきではありません。
明らかに、私は 4.0.0 バインディングを避けるために以下を追加しましたvstest.executionengine.x86.exe.config
が、私の無知と私たちの「フレームワーク」の気まぐれによって引き起こされた変動にまだ困惑しています: