問題タブ [storyq]
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.
bdd - 例外が予想される StoryQ シナリオ
StoryQ を使用して、例外が予想されるシナリオをテストするにはどうすればよいですか?
c# - 特定のユーザーストーリーのシナリオは悪ですか?
したがって、ユーザーストーリーのシナリオに関しては、具体的にすることは良いことです。しかし、私は頻繁に自分自身に問いかけることになります。私のシナリオはどの程度具体的である必要がありますか?
たとえば、ユーザーストーリーの場合:
プロジェクトメンバーがプロジェクトで共同作業できるようにするために、プロジェクトマネージャーとして、新しいプロジェクトを登録できるようにしたいと思います。
次のシナリオが考えられます。
プロジェクトがシステムに登録されたことがない場合、プロジェクトマネージャーがそのプロジェクトを登録すると、登録されたプロジェクトが指定されたメンバーのプロジェクトリストに表示されます。
または、次のように具体的にすることもできます。
スコットがプロジェクトマネージャーであり、スタックオーバーフロー統合プロジェクトがシステムに登録されたことがない場合、スコットがジェーンをプロジェクトメンバーとして指定してスタックオーバーフロー統合プロジェクトを登録すると、スタックオーバーフロー統合プロジェクトがジェーンのプロジェクトリストに表示されます。
2番目の「より具体的な」ものはBDD仕様を書くときに便利だと思いました。projectManagerStubの代わりにscottTheProjectManagerのようなものがある場合:
- より現実の世界に合わせて調整します(プロジェクトマネージャーとして機能するスタブはありません。それとも私たちですか?)
- その仕様のコンテキストで必要なときにいつでも参照しやすくなります(それ以外の場合は、「そのプロジェクトマネージャー」または「プロジェクトを登録したプロジェクトマネージャー」などと言い続けます。
私は私の結論に正しいですか?ストーリーに変更が生じた場合、その特異性は私に害を及ぼしますか?
どうもありがとう!
アップデート
上記の質問は、役割名の代わりに個人名を使用することだけでなく、シナリオ内のすべてのプレースホルダーを実際のインスタンスの名前に置き換えることでもあります。実際には、Scottという人がプロジェクトマネージャーとして働いているという意味ではありません。前述の利点を実現するために、抽象的なプレースホルダーに名前を付けているだけです。
StoryQフレームワークを使用して完全なBDDスタイルの仕様を表す次のコードを含めることにより、これらの利点がどのように実現されるかを示します。
c# - StoryQ を使用した出力の変更または構成
私はこの質問をStoryQ ディスカッション ボードに投稿しましたが、他の質問への回答 (の欠如) を見ると、そこでの活動はせいぜいまばらに見えます。ここにいるみんなにやってもらいたいと思いました。
出力 (出力ウィンドウとファイルの両方) を変更または構成してカスタム文字列を含める方法はありますか? たとえば、私の話の 1 つでは、特定の例外をスローする必要があります。これを行うには、例外をキャッチして保存し、別のメソッドでそれが null ではなく、必要な型であることをテストします。例外のタイプを出力に追加できるようにしたいと思います (パラメーターがメソッド呼び出しに追加されるように)。
例えば
次の出力が得られます
c# - storyQ 関数にパラメーターを渡す
これが私のテストです。関数 ImageSelectionDatabaseIsValidAllTotalGainsAssigned に変数を渡したいと思います。アサーションを 8 に対して 1 回、7 に対して 1 回チェックしたいと思います。
ただし、関数にパラメーターを渡して .Then() を呼び出すことはできません
これを行う方法を説明していただけますか?