問題タブ [intellitest]
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.
c# - VS2015 Enterprise のコンテキスト メニューに [IntelliTest を実行] オプションがない
VS2015 Enterprise を使用していて、新しい IntelliTest 機能をチェックしようとしていますが、オプションがどこにも見つかりません。プロジェクトのクラスの 1 つに単純な関数を作成し、その関数を右クリックしましたが、コンテキスト メニューに [Intellitest を実行] オプションがありません。
Run Tests と Debug Tests しか表示されません。
なぜそこにないのか誰か教えてください。多くの VS2015 のチュートリアルとデモを見ましたが、VS2015 のどこにも IntelliTest 項目がないため、それらに従うことができません。
unit-testing - Intellitest によって生成された各テストのアサーションを追加する場所
ここでは、例を挙げて問題を説明します。元の質問は、問題をより抽象的に示しています。といっても読む必要はありません。
更新:例としての質問
int[] の最小値を見つけるために、このバグのある関数を実装したとしましょう。
この関数で Intellitest を実行すると、次の結果が得られます。
テスト #4 と #6 では、実装にバグがあるため、関数が最小値を正しく計算していないことに注意してください。ただし、これらのテストはパスしており、望ましくありません。
インテリテストは、意図した動作を魔法のように判断MyMin
して、これらの入力で失敗するようにテストを作成することはできません。ただし、これらのテストの目的の結果を手動で指定できれば、非常に便利です。
@ michał-komorowski のソリューションは実現可能ですが、テスト ケースごとにPexAssume
s に関して入力を繰り返す必要があります。テスト入力に必要な出力を指定する、よりエレガントでクリーンな方法はありますか?
元の質問
Intelitest は、変更可能なパラメーター化されたテストを生成し、そこに一般/グローバル アサーションを追加できます。また、コード カバレッジを最大化する最小数の入力を生成します。Intellitest は入力を個別の単体テストとして保存し、それぞれが細工された入力を使用してパラメーター化されたテストを呼び出します。
入力ごとにアサーションを追加する方法を探しています。
各入力は単体テスト関数として.g.csファイルに保存されるため、そこにアサーションを追加できます。問題は、これらの関数は、その後の実行で Intellitest によって上書きされるため、ユーザーがカスタマイズすることを想定していないことです。
各単体テストにアサーションを追加する推奨される方法は何ですか?
c# - インテリテストがインターフェイスに使用するファクトリを指定するにはどうすればよいですか?
Intellitest を使用すると、単体テストを生成するときに Intellitest が使用するインターフェイスに適合する型を指定できますが、代わりに使用したいカスタム ファクトリがあります。
私のカスタム工場:
ILogic
PEX が作成しようとするすべてのインスタンスにこのファクトリを使用したいと考えています。
次の属性を PexAssemblyInfo.cs に追加しようとしましたが、テストの上にも追加しようとしました。
しかし、コードをインストルメント化するときに、この実行時警告が引き続き表示されます。
will use Company.Logics.SpecificLogic as ILogic
そのため、毎回私の工場を無視しているようです。代わりに Intellitet に自分のファクトリを使用させるにはどうすればよいですか?
visual-studio-2015 - Visual Studio 2015 IntelliTest
VS 2015 の新しい IntelliTest 機能について質問があります。クラスの1つで「IntelliTestの作成」オプションを使用しました。クラスは基本クラスを実装し、メソッドはほとんどがオーバーライドです。しかし、IntelliTest はこれらすべてを無視したように見え、それらのテストを生成しませんでした。テストとして、基本クラスに対して IntelliTest を実行したところ、すべてが検出されたように見えましたが、基本の署名を使用するクラスの単体テストをすばやく具体化したい場合には役に立ちません。
もしあれば、私は何を見落としていますか?「パブリック オーバーライド」メソッドの UT を起草するのに十分スマートな方法で IntelliTest を実行する方法はありますか?
ありがとう。