問題タブ [cucumber-junit]
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.
cucumber - Gradle が Cucumber-jvm を拾わない
Gradle から Cucumber-jvm を実行しようとしています。しかし、私が何をしても、機能を実際に実行することはできません。他の JUnit テストの実行中は常にスキップされます。私の機能が入っていて、属性が指定されsrc/test/resources
たJUnitテストがsrc/test/java
あります。これが私のGradleスクリプトです:@RunWith(Cucumber.class)
@Feature(Myfeature.feature)
誰かがこれを修正するために何をすべきか考えているなら、それはありがたいです. Cucumber-jvm のドキュメントは存在しません。
java - cucumber-junit を使用して Cucumber 機能へのパスを設定するにはどうすればよいですか?
Java と Maven を使用して、最初の実行可能な仕様を構築しようとしています。この構造の単純なプロジェクトを作成しました。
JunitテストMyFeatureTest.java
では、これがあります:
今https://github.com/cucumber/cucumber-jvm/wiki/IDE-supportは、次の行を追加する必要があると言います:
私はそれをに変更しようとしました
しかし、注釈@Cucumber.Options
はまったく利用できません。私pom.xml
にはこの依存関係があります:
何か不足していますか?
更新何かが欠けていました: The cucumber feature file must be in a subdirectory src/test/resources/mypackage/
. そうしないと、junit テストで検出されません。
機能テストを同じディレクトリに置くと実行できるsrc/main/test/
ので、ブロックすることはありません。しかし、私は全体の設定を理解したいと思います。
junit - Cucumber-JUnitで、機能が報告される順序を制御する方法はありますか?
「BasicMath」と「AdvancedMath」(それぞれファイル内)basic_math.feature
と呼ばれる2つの機能を備えた基本的なCucumber-Jvmテストを実行していますadvanced_math.feature
。
ただし、HTMLレポートが生成されると、「Advanced Math」は「BasicMath」の前に表示されますが、「BasicMath」は「AdvancedMath」の前に表示されます。出力をより論理的に整理できれば、レポートはビジネスアナリストやQA部門にとってよりアクセスしやすくなり、より多くの牽引力を得ることができるため、これは簡単なことではありません。
Mavenプラグインを使用してある種のXSLT後処理を試みることができることは知っていますが、アノテーションを使用してコードで定義する方法を探しています。そのような方法はありますか?Cucumber.@Options.features
実際には.feature
ファイルの場所を定義し、Cucumber.@Options.name
実行する機能を決定するrexexps用です。
cucumber - XCode 自動化テストに Frank/Cucumber を使用する
XCode アプリの自動化テストを行う可能性のあるさまざまな方法を模索しようとしていて、Frank/Cucumber に出会いましたが、それがどのように機能するかについて本当に混乱しています。実際にテストを開始する際、Cucumber はどのような手順を実行しますか? ある種の英語の書き方を好むと思われる機能ファイル (*.feature ファイル) があります。次に、各機能とリンクしていると思われるスクリプトである定義がありますか? 私は今まで Ruby プログラミングをしたことがないので、おそらくそれが私の混乱のほとんどの原因です。
誰がそれがどのように機能するかを正確に説明できますか? 1 週間のスプリント後に変更がある可能性があるアジャイル環境で役に立ちますか? 私の考えでは、これらすべての機能とこれらすべてのスクリプトがあれば、すぐに維持するのが頭痛の種になる可能性がありますが、それは私が長期的に考えているだけです。
どんな助けや考えも感謝します。ありがとう!
java - Cucumber JVM/JUnit を使用したデータベースのロードについてはどうすればよいですか
テスト用のデータを保持する cucumber jvm で機能ファイルを使用したいと考えています。
処理前に休止状態を使用してオブジェクトをロードする方法をテストしています。
/li>
ロードするには dealId を指定する必要があるため、ロードについてはどうすればよいですか?
私の理解では、接続と、モックされた接続から生じるオブジェクトを「モック」する必要があるということです。
Jmock、mockito、dbunit をそれぞれ見ましたが、どうすればいいのかわかりません。
ご意見をいただければ幸いです。
メモを編集
さらにコードを追加しました。データベースからオブジェクトを取得しています。次に、取引に関連するオブジェクトのリスト (多対 1) をループし、各ローンの金額を取引金額に追加します。最後に、取引を返す前に取引の合計金額を設定します。
では、機能ファイルからテスト情報を提供したい場合、このメソッドの Junit テストを作成するにはどうすればよいでしょうか?
これが機能する「実際の」シナリオでは、取引をアプリケーションにロードし、各ローンのローン金額を追加して、それを取引に設定してから返します。しかし、このメソッド内でデータベースからロードする必要があることを考えると、このテスト用の JUnit を作成する方法がわかりません。
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 が役に立ちますか?)。
私はきゅうりにかなり慣れていないので、私の質問は良い質問ではないかもしれません。時間と経験があれば、構造は自明になりますが、その使用法について良いフィードバックを得たいと思っています...
ありがとう。
cucumber - きゅうりの機能ファイルの場所を指定します
私はいくつかのキュウリテストステップと小さなキュウリテストケースを作成しました。これらは次のようにJUnitで実行します。
Cucumber機能ファイルがクラスパスの場所から自動的にロードされるようになりました。src/main/resources/<package-name>/*.feature
クラスパス外の場所(データ//など)から機能ファイルをロードする必要があるため、機能ファイルの場所をキュウリに伝える方法を知りたいと思います。
cucumber - cucumber jvm CucumberException: [] に機能が見つかりません
私のcucumber -jvm、Maven、junitセットアップでは、testRunnerファイルを次のようにしています
上記のディレクトリに機能ファイルがあります。
実行すると、次の例外が発生します。
testrunner で「features」オプションを削除すると、testrunner.java と同じディレクトリで機能ファイルを検索しようとします。
そこに機能ファイルを配置すると、機能します。
私の質問は、キュウリのデフォルトのファイル構造であると思っていた以前の場所から機能ファイルが取得されないのはなぜですか-mavenセットアップです。
そこから拾うにはどうすればいいですか?助けていただければ幸いです。
regex - Cucumber JVM: double を入力値として使用するにはどうすればよいですか?
私が書こうとしている動作テストでは、浮動小数点の入力が必要です。これらの値を探すためにガーキン文字列を設定するにはどうすればよいですか?
cucumber - 失敗した後もキュウリのステップを実行し続ける
ステップの1つが失敗した場合でも、Cucumberステップの実行を継続する方法はありますか。私の現在のセットアップでは、ステップが失敗すると、キュウリは残りのステップをスキップします....キュウリランナーのセットアップをひねる方法があるかどうか疑問に思います。
失敗したステップをコメントアウトすることはできますが、どのステップが失敗するかわからない場合は実用的ではありません...残りのステップを続行できれば、失敗したテストの完全なセットを1回のショットで知ることができます....サイクルを繰り返すのではなく..。。
環境:Cucumber JVM、R、Java、Ibatis、Spring Framework、Maven