問題タブ [specflow]

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.

0 投票する
1 に答える
115 参照

testing - フィールドがデータベースに保存されるかどうかをテストする自動受け入れテストを用意することは重要ですか?

自動化された受け入れテスト フレームワークには SpecFlow を使用し、持続性には NHibernate を使用しています。私が取り組んでいるイントラネット アプリケーションの UI ページの多くは、基本的なデータ入力ページです。明らかに、これらのページの 1 つにフィールドを追加することは「機能」と見なされますが、この機能以外のシナリオは考えられません。

このようなテストを自動化することは、どれほど一般的で必要でしょうか? さらに、私は NHibernate を使用しているため、独自のデータ永続化レイヤーを手動で処理しているわけではありません。プロパティをマッピング ファイルに追加すると、誤って削除されない可能性が高くなります。これを考慮すると、「1 回限りの」手動テストで十分ではないでしょうか。この件に関するあなたの提案と経験を聞きたいと思っています。

0 投票する
2 に答える
2764 参照

c# - SpecFlow 自動生成の StepDefinition ファイルは可能ですか?

私は現在 C# でプログラミングしており、Visual Studio 2010、.Net 4、SpecFlow、NUnit を使用しています。SpecFlow が *.feature ファイルの *StepDefintion.cs を自動的に生成する方法があるかどうか知りたいです。現在、生成されたコードを新しい「SpecFlow ステップ定義」ファイルにコピー アンド ペーストする必要があります。

これが可能かどうか、またその方法を誰かが知っていれば、それは素晴らしいことです!

0 投票する
2 に答える
2970 参照

c# - 多重依存要件のために SpecFlow で機能を作成する方法

私は SpecFlow を学んでおり、単純な Com-Sci 標準の FizzBu​​zz プロジェクトを行っています。与えられた数値の範囲 3 で割り切れる数を Fizz に置き換えます。 5 で割り切れる数を Buzz に置き換えます。 3 と 5 で割り切れる数を FizzBu​​zz に置き換えます。

これは非常に単純なアプリケーションですが、私には疑問が生じました。API の 1 つのメソッド呼び出しからすべてが起動される複数の要件をテストするための機能を作成するにはどうすればよいですか? たとえば、API 呼び出しは次のようFizzBuzz.Replace(1, 100); になり、Replace メソッド コードは次のようになります。

SpecFlow での私の機能は次のとおりです。

さらなる問題は、すべての要件を 1 つの機能にまとめる必要がある場合、その機能をより意味のあるものにする方法です。

編集 2 つ目のシナリオを作成するとすぐに最初のシナリオが失敗するため、複数のシナリオの作成に苦労しています。

次に、次のシナリオを実行します

2 番目のシナリオはパスしますが、最初のシナリオは失敗します。シナリオ 1、2、3 を実行するために API を開くことは、アプリにとって良い設計になるとは思いません。

ありがとう、

0 投票する
1 に答える
1091 参照

c# - Specflow 解析エラー VS2010

specflow の 2 番目の AND ステートメントの何が問題なのか教えてくれる人はいますか?

おそらく、この動作をテストするより良い方法もありますか?

0 投票する
2 に答える
2338 参照

testing - Test Manager またはコード化された UI テストを使用した BDD

Microsoft のテスト マネージャーまたはコード化された UI テストを使用して真の BDD (または TDD) を実行した経験のある人はいますか?

BDD には SpecFlow と WatiN を使用しているため、これらのツールにはあま​​り詳しくありません。私たちの組織の 1 つのチームが Test Manager を提案していますが、テストを書く能力と、最初に小さなテストを書き、次にテストに合格するための最小限のコードを書く真の BDD/TDD を実際に行うことを誤解しているのではないかと心配しています。

彼らが私たちに示した例は、Test Manager でテスト ケースを作成し、UI を起動して、テストの動作を記録することでした。明らかに、これは BDD ではありません。Test Manager で真の BDD を実行できますか?

どんな考えでも大歓迎です。ありがとう、ウィル

うわー、ほぼ一週間、応答がありません。これは、NOBODY が TestManager を使用しているのは開発者ツールではなく QA ツールであるためだと解釈できますか?

0 投票する
1 に答える
997 参照

resharper - Specflow テストはすべて 2 回実行されます

NUnit と WatiN で Specflow を使用して受け入れテストを行っていますが、specflow テストはすべて 2 回実行されます。彼らは私のサイトを閲覧するために WatiN を使用しているため、かなりの余分な時間がかかります。

これまでのところ、基本的な specflow 機能しかありません。基本的に、サンプル機能を使用し、いくつかの名前を変更して、手順を実装しました。

すべてのテストが 2 回実行されるのはなぜですか?

編集:おそらく、R# テスト ランナーを使用していることを追加する必要があります。

0 投票する
2 に答える
641 参照

asp.net - Specflow を使用した BDD とブラウザーの動作のモック

SpecFlow を使用して、ASP.NET MVC Web アプリケーションの 1 つの仕様を書き始めました。Google で答えが見つからない 2 つの基本的な質問に出くわしました。

  1. 実際のブラウザ インスタンスを作成せずにブラウザの動作を模倣する方法はありますか。実際のブラウザー インスタンスを作成できる "WatiN" などのライブラリがあることは知っていますが、テストのパフォーマンスが大幅に低下する可能性があるため、使用することに消極的です (ビルド サーバーで実行する必要があります)。

  2. ブラウザーまたはモック ブラウザーに依存する必要がある理由は、コントローラーを直接インスタンス化するときにすべてのアクション フィルターが起動されることを保証しないため、テストをコントローラーに向けたくないからです (それはasp.net mvc エンジンの一部)。誰かが私のコントローラをテストするシナリオへのアプローチを提案できますか - すべてのアクションフィルタを起動して (ブラウザ/モックブラウザを使用したくないかもしれません)?

ありがとう

バンブルビー

0 投票する
1 に答える
413 参照

asp.net-mvc - ASP.NET MVC 3 アプリと SpecFlow の間で設定を調整するにはどうすればよいですか?

したがって、前者をテストするために、1 つの ASP.NET MVC 3 プロジェクトと 1 つの SpecFlow プロジェクト (テスト ランナーとして NUnit を使用) を含む VS 2010 ソリューションがあります。SpecFlow で (SpecFlow プロジェクトを実行して) テストする場合、MVC アプリケーションのConfigurationManager.AppSettingsディクショナリのパラメーターを変更して、テスト データベースに接続できるようにしたいと考えています。ただし、この変更は実行中のアプリには影響しないようですので、テストとアプリは状態を共有していないと思います。

MVC アプリ プロジェクトと SpecFlow プロジェクトの間でこのアプリケーション設定を共有して、同じデータベースを使用するにはどうすればよいですか?

編集: 問題は実際にはプロジェクト (MVC と SpecFlow) 間で設定を共有することではなく、2 つのプロセス間で共有することであることがわかりました。その理由は、WatiN を介して MVC をテストするためです。これは、独自のプロセスで実行されている開発サーバーがテストによって実行されていることを意味します。そのため、私の元の質問の前提は最初から間違っていました。元の前提を考えると、ジェイソンの答えは有効だと思います。

0 投票する
1 に答える
2492 参照

.net - SpecFlow シナリオの再利用

SpecFlow の使用を開始しましたが、仕様間でシナリオを再利用できるのではないかと考えています。

基本的に私の考えはこれです(私は根本的に間違っているかもしれません:))

ナビゲーションを検証するために作成された機能が 1 つあります。

機能: ナビゲーション

シナリオ: Boo に移動する

そして、ブーの操作面を検証する別の仕様があります

機能: Boo が正常に動作しているかどうかを検証する

ここでは基本的に、最初に Boo 画面に移動する必要があります。Navigationで書いたScenario: Navigate to Booのシナリオを再利用できないかと考えていました

これは可能ですか?そうでなければ、それを回避する最善の方法は何ですか?

/BB

0 投票する
2 に答える
1019 参照

.net - SpecFlowシナリオのデータの準備

その前に他のいくつかのステップが実行されることを期待する複雑なシナリオをテストします。

たとえば、商品を倉庫から取り出す前に、倉庫に適切なデータがあることと同じです。したがって、フェッチを実行するには、最初に倉庫に製品があり、フェッチオーダーがあることを確認する必要があります。製品を倉庫に挿入するための個別の画面がある場合があります。したがって、フェッチシナリオのテストを開始する前に、それらのシナリオを準備する必要があります。

このデータを準備するための最良の方法は何でしょうか?基本的に2つの選択肢が考えられます。

  1. 実際の画面を見て、データを準備します。

  2. 必要なシナリオを実行するために、準備されたデータを含むDBスナップショットを用意します。

どちらの方向に進んでいけばいいのかわからないので、こういうことをやってきた人たちからも同じような体験をしてもらいたいです。