問題タブ [property-based-testing]
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.
clojure - clojure.test.check は 2 つの int を生成し、一方が他方よりも小さい
次のようなプロパティを書きたいです。
ただし、プロパティは の場合にのみ保持されx > y
ます。このプロパティの前提条件を表現する正しい方法は何ですか? (さらに良いことに、このプロパティをy
未満の自然数として生成されるように記述するにはどうすればよいx
でしょうか?)
unit-testing - カード ゲームのディール関数でプロパティ ベースのテストを実行するにはどうすればよいですか?
私はプロパティ ベースのテストを研究しており、このタイプのテストをブラックジャック ゲームのディール関数にどのように適用できるか興味があります。
これが単体テストです(別名:サンプルベースのテスト):
プロパティベースのテストの例は何ですか?
2 枚のカードが 4 スーツの範囲内にあることをテストしますか? (つまり、スペード、ダイアモンド、ハート、クラブ) 静的型に依存することで、既にそれが保証されているのではないでしょうか?
2 枚のカードが数字または面の範囲内にあることをテストしますか? (つまり、2..10;Jack;Queen;King;Ace) 繰り返しますが、静的型に依存することで、すでにそれが保証されているのではないでしょうか?
繰り返しますが、ブラックジャック ゲームのプロパティ ベースのテストを実行する場合、何を考慮する必要がありますか?
.net - ランダムに生成された入力が役に立たない場合、プロパティ ベースのテストを再試行するにはどうすればよいですか?
私は単体テストには不慣れです。Nuget からインストールFsCheck.Nunit
しNUnitTestAdapter
て、プロパティ ベースのテストを行おうとしています。これは、計り知れない Scott Wlaschinに大きく影響されています。
属性を使用してい[<Property>]
ますが、テストの要件を満たさない入力を「スキップ」する機能が必要です。
これを行う最も簡単な方法は何ですか?
存在する場合は FsCheck/NUnit の回答を希望しますが、Visual Studio でテストを実行できる他のフレームワークも検討します。(これを正確に行うための単純な関数があるフレームワークを見たと思いましたが、それが何であるかわかりません。)
FsCheck.NUnit は、F# 型 (判別共用体など) のランダムな入力を追加作業なしで生成できるため、これまでのところ好んで使用しています。
unit-testing - Scalacheck、サイズ 5 から 12 のリストのジェネレーター
ジェネレーターの最大サイズを設定する例はたくさんありますが、最小長と最大長の間のリストを生成するにはどうすればよいですか?
mocking - xUnit と FsCheck を IoC で使用し、F# でモックする方法
プロパティベースのテスト手法を使用して、単体テスト F# を作成したいと考えています。しかし、私はいくつかの障害に遭遇しました。
- テストしたいコードは C# です
- ドメイン オブジェクトは EF から取得されます。つまり、コンストラクターはなく、変更可能なプロパティのみです。
- sut は、多くのコンストラクター インジェクションを必要とするクラスです。新しい機能を追加すると、その数は頻繁に変わります。コンストラクターに新しいパラメーターを追加するときに、古いテストを変更したくありません。
- sut は既に存在し、機能しているため、コンストラクターでファクトリ パラメーターを 1 つだけ受け取るようにパターンを変更すると、テストによる損傷と見なされるため、使用できません。
- FsCheck はすぐに使用できるエンティティ フレームワーク オブジェクトを生成できないため、エンティティごとに大規模なジェネレータを作成する必要があります。それを実行したり、このタスクをより簡単にするライブラリはありますか?
言い換えれば、FsCheck と Ninject (アプリケーションで使用するため、新しいものを追加することもできません) を自動エンティティ ジェネレーターおよびモック ツールと組み合わせることは可能ですか?
quickcheck - プロパティ ベースのテスト ツールを使用してイベント/コマンドを生成しますか?
私が理解しているように、ほとんどのプロパティ テスト ツールは関数のレベルで動作します。一連の引数が与えられると、そのようなツールはランダムな入力を生成し、何らかの不変条件に対して出力をテストします。
ステートフル システムをテストするためのイベントの生成が ScalaCheck に組み込まれ始めていることを読みました。しかし、私はそれに関する多くの情報を見つけることができません。これは他の *check エコシステム (fscheck、quickcheck、その他のバリエーション) でも人気が高まっていますか?
testing - ビルドフラグを使用して条件付きで実行されているテストが機能しない
私はgolangでいくつかのテストを実行していますが、遅いものを実行したくないのです。たとえば、これはbcryptを使用しているため遅いです:
すべての反復でこれを実行しないようにするために、// +build slow
フラグを設定しました。これは実行時にのみ実行されるはずですgo test -tags slow
が、残念ながら毎回実行されます (-v フラグは実行中であることを示します)。
何が問題なのですか?