問題タブ [cucumber-jvm]
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.
java - Cucumber-JVM ant タスク
フォルダー内のすべてのキュウリ テスト (機能、実装) を実行するように ant に指示するにはどうすればよいですか?
この例を使用して立ち往生しています
maven - Cucumber-jvm の変更方法
JUnitとmavenを介してcucumber-jvmを実行しています。ソース コードにアクセスしてコア コードに変更を加えることができますが、これらの変更は cucumber-jvm を実行する他のプロジェクトには影響しません。
コアに変更を加えて、マシン上の他のプロジェクトに影響を与えるにはどうすればよいですか? Maven は github でのみ jar を実行しますか? 次の代わりに、新しい cucumber-jvm プロジェクトを作成し、そのプロジェクトを依存関係として追加する必要がありますか?
ありがとう。
java - Cucumber JVM/JUnit を使用したデータベースのロードについてはどうすればよいですか
テスト用のデータを保持する cucumber jvm で機能ファイルを使用したいと考えています。
処理前に休止状態を使用してオブジェクトをロードする方法をテストしています。
/li>
ロードするには dealId を指定する必要があるため、ロードについてはどうすればよいですか?
私の理解では、接続と、モックされた接続から生じるオブジェクトを「モック」する必要があるということです。
Jmock、mockito、dbunit をそれぞれ見ましたが、どうすればいいのかわかりません。
ご意見をいただければ幸いです。
メモを編集
さらにコードを追加しました。データベースからオブジェクトを取得しています。次に、取引に関連するオブジェクトのリスト (多対 1) をループし、各ローンの金額を取引金額に追加します。最後に、取引を返す前に取引の合計金額を設定します。
では、機能ファイルからテスト情報を提供したい場合、このメソッドの Junit テストを作成するにはどうすればよいでしょうか?
これが機能する「実際の」シナリオでは、取引をアプリケーションにロードし、各ローンのローン金額を追加して、それを取引に設定してから返します。しかし、このメソッド内でデータベースからロードする必要があることを考えると、このテスト用の JUnit を作成する方法がわかりません。
geb - Gebでリクエストヘッダーとユーザーエージェントを設定する
Gebを使用している場合、ブラウザAPI(直接ダウンロードAPIではない)を使用しているときにカスタムリクエストヘッダーとユーザーエージェントを設定することは可能ですか?
これはFirefoxDriver(ここを参照)で可能ですが、WebKitDriverでこれを行う方法を探しています。
java - Cucumber-JVM を使用して Java 1.5 アプリケーションを開発する方法はありますか?
Cucumber-JVM は Java 1.6 に依存しています
クライアントのアプリケーションは Java 1.5 で実行されており、現時点ではこれを変更できません。
Cucumber-JVM を使用してクライアントのアプリケーションを実行する方法を知っている人はいますか?
java - cucumber-guiceの設定
ステップ定義でDIを使用しようとしています。私はモジュールを持っています、
このインスタンスをステップ定義のコンストラクターに挿入します。
cucumber-guice.propertiesファイルを使用してGuiceFactoryを構成する必要があると思いますが、これが何であるか本当にわかりませんか?現時点で私が得るエラーは、
また、コンストラクターインジェクションにプロバイダーを使用する必要がありますか?
java - コマンドラインから Maven で cucumber-jvm オプションを設定する
特定の機能またはシナリオを実行できるように、Cucumber の「名前」オプションを設定しようとしています。
これに入ったのですが、
ただし、すべての機能を実行するだけで、エラーは発生しません。
何か案は?
java - 他のプロジェクトでのCucumber-JVMステップ定義の再利用
他のプロジェクトでCucumber-JVMステップ定義を再利用して、いくつかの典型的なWebアクションをテストするにはどうすればよいですか。重要なのは、次のような典型的なシナリオアクションのステップ定義実装だけでJavaプロジェクトを作成したことです。
そして、これらの定義を他のプロジェクト(クラスパスに含める)で再利用して、独自の単純なシナリオを作成したいと思います。しかし、シナリオを(JUnitテストとして)実行すると、Cucumberはステップ定義を見つけることができません。また、ステップ定義クラスを拡張しようとすると、ステップ定義クラスを拡張できないというエラーが発生します。それで、ステップ定義を再利用することは可能ですか?もしそうなら、どのように再利用しますか?
java - Cucumber で仕様定義を整理するには?
プロジェクトの受け入れテストにCucumberを使用することを検討しています。
scenario
Cucumber に aを書くとき、 , andステートメントfeature
のリストを書きます。Given
When
Then
cucumber-jvmプロジェクトを使用しているためGiven
、、When
およびThen
ステートメントは (JUnit) クラスの Java メソッドに関連しています。
プロジェクトの構造上、//に関連Given
するコードをどのように編成するのが最適かを知りたいです。私の主な関心事は、シナリオの数が非常に重要であり、特に機能間で共有されるアイテムに関して、大きなプロジェクトでキュウリのテストを維持することです。When
Then
少なくとも 2 つの主なアプローチを確認できます。
各機能は、独自の JUnit クラスに関連しています。したがって、キュウリ ファイルがある場合は、関連するJUnit クラスと、適切なおよび注釈付きのメソッド
foo/bar/baz.feature
を見つけることができます。foo.bar.Baz
@Given
@When
@Then
@Given
、@When
および@Then
メソッドを「テーマ別」クラスおよびパッケージに分離します。たとえば、キュウリのシナリオで statementGiven user "foo" is logged
がある場合、@Given("^user \"([^\"]*)\" is logged$")
注釈付きのメソッドはfoo.user.User
クラス メソッドに配置され@When
ますが、同じキュウリのシナリオで後で使用されるメソッドは、別の Java クラスとパッケージに配置される可能性があります (たとえば、foo.car.RentCar
) .
私にとっては、キュウリの機能と Java コードとの関係を簡単に作成できるという点で、最初のアプローチが適しているように思えます。しかし欠点は、多くの冗長性やコードの重複が発生する可能性があることです。また、再作成を避けるために、既存のメソッドを見つけるのが難しい場合があります(IDE は役に立ちますが、ここでは Eclipse を使用していますが、既存のステートメント@Given
のリストが表示されないようです?)。Given
複数のキュウリ機能間で条件を共有している場合は、本質的に他のアプローチの方が優れているように思わGiven
れるため、コードの重複を避けたいと考えています。ここでの欠点は、@Given
Java メソッドとGiven
cucumber ステートメントの間のリンクを作成するのが難しい場合があることです (これも IDE が役に立ちますか?)。
私はきゅうりにかなり慣れていないので、私の質問は良い質問ではないかもしれません。時間と経験があれば、構造は自明になりますが、その使用法について良いフィードバックを得たいと思っています...
ありがとう。
selenium - Windows 7 で TeamCity BuildAgent を介して IEDriver または ChromeDriver を実行できない
私のチームは、UI テストに Selenium 2 を使用することを検討しています。私たちの UI 開発は外部ベンダー (別の機会のトピック) によって行われており、RemoteDriver (サーバー/クライアント) を使用すると、生産性よりも多くのメンテナンスが必要になります。
私のテスト プロジェクトは、新しい IE(v8 - 64 ビット)/Firefox/および Chrome ブラウザーを起動して、任意の URL に正常に移動できるかどうかを確認する単純な Maven プロジェクトです。私のマシンでローカルに実行され、TeamCity build-agent ユーザー プロファイルでリモートで実行されます (ソース プロジェクトに移動し、mvn テストを実行します)。ただし、TeamCity コンソール (Web または IntelliJ でのリモート実行) を介してテストを実行しようとすると、次のエラーが発生します。
IE ドライバー エラー
Chrome ドライバー エラー
テストは Cucumber-JVM を使用してセットアップされており、ステップ定義内で Selenium ドライバーを実行しようとしています。セレン サイトで概説されているセットアップ手順に従うことを確認しましたが、プロジェクトが TeamCity を介して実行されない理由について現在迷っています。
トラブルシューティングに役立つ場合は、喜んでテスト プロジェクトをお送りします。新鮮な洞察をいただければ幸いです。