問題タブ [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.
groovy - Cucumber JVM の (Groovy) "World (Hooks)" オブジェクト mixin と Intellij ナビゲーション
intellij でキュウリ JVM (Groovy) を使用してキュウリのシナリオを開発しています。私が言わなければならないことは、日食で同じことをするよりもはるかに優れています。
小さな問題を 1 つ解決して、チームの状況をさらに改善したいと考えています。しかし、私はIntellijを初めて使用するので、次のことについて助けが必要です:
- ステップ定義ファイル (groovy) を使用している場合、Intellij はキュウリの "World" オブジェクトで定義された変数とメソッドを認識できないようです。そのため、少し煩わしいものについては、IDE サポート (オートコンプリートなど) を取得しないでください。どうすれば修正できますか?
webdriver - TeamCity で cucumber-jvm レポートを取得するのを手伝ってくれる人はいますか?
最近、CI システムがソース管理などとどのように統合されるかを理解する上で、大きな進歩を遂げることができました。
そこで見つけようと苦労していることの 1 つは、cucumber-jvm と TeamCity に関して、どのようにしてより良いレポートを取得できるかということです。TeamCity が私の BDD (Webdriver) テストを進めるにつれて、恐ろしい見た目のテキストが大量に表示されます。
TeamCity を使用した cucumber-jvm について明示的にレポートを知っている/経験がある人はいますか?
私はいつもの容疑者を試しました。グーグル、ブログ、GitHubページなど、しかし役に立たない.
私が見た中で最高のものはこれです...しかし、それはジェンキンスにあります。
Jenkins に関する cucumber-jvm レポート
私は現在、確実なレポートなども見ています。しかし、TeamCity 自体に何かがあれば素晴らしいことです。
どうもありがとう!
cucumber-jvm - Cucumber JVM: 正しい例外がスローされるかどうかをテストします
Cucumber JVM の使用時に正しい例外がスローされることをテストする方法は? JUnit を使用する場合、次のようにします。
ご覧のとおり、これは非常にエレガントです。しかし、キュウリ JVM を使用する場合、どうすれば同じエレガンスを実現できるでしょうか? 私のテストは今このように見えます:
try
.. のcatch
後にassertTrue
on a フラグが続く必要があることに注意してください。
cucumber - キュウリ オプションの注釈
cucumber-jvm javadocsには、glue 要素の目的はステップ定義とフックの場所を指定することであると記載されています。しかし、これは私にはうまくいかないようです。ディレクトリ a に機能があり、ディレクトリ b にステップ定義があるとします。それで、
directory_a から機能ファイルをロードしますが、directive_b からステップ定義をロードしません。ただし、使用する場合
次に、directory_a の機能が読み込まれ、directory_b のステップ定義も取得されます。まさに私が欲しいものですが、前者が機能しない理由がわかりませんか? URIのフォーマットが異なることを期待していることと関係があると思います(おそらく、classpath://などを先頭に追加する必要があります)が、ドキュメントでこれに関する情報を見つけることができません.
gradle - Gradle は pom.xml をダウンロードしますが、Cucumber の .jar ファイルはダウンロードしません
Gradle から Cucumber を実行しようとしています。Cucumber テストを実行しようとすると、
Gradle は cucumber-jvm-1.1.3.pom ファイルをダウンロードしましたが、cucumber .jar ファイルはダウンロードしませんでした。これが私のbuild.gradleです:
依存関係をランタイムに変更し、cucumberRuntime をランタイムから拡張するように変更しようとしましたが、結果は同じです。
キュウリの .jar ファイルをダウンロードする必要があることを gradle が認識しないのはなぜですか?
ありがとう。
cucumber-jvm - Cucumber-jvm で @Before を複数使用すると NullpointerException が発生する
私はcucumber-jvmを使用しています。
ブラウザーのサイズ、アプリケーションの URL など、必要なものをすべて初期化する init メソッドがあります。この init メソッドを @Before (cucumber.api) タグの下に置きました。
これが順調に進んでいて、私の人生は順調でした。ここで、シナリオ レベルでいくつかのタグに @Before を使用したいと考えました。私のシナリオが次のようになっているとします。
そして、私は次のようなものを使いたかった:
しかし、別の @Before を指定した瞬間に、NullPointerException が発生し始めます。Cucumber の Runtime クラスの runBeforeHooks メソッドと runHookIfTagsMatch メソッドまで追跡しました。@Before (initLoginPage()) 自体の例外をスローしています。複数の @Before で作成される競合はありますか? どうすればこれを解決できますか?
java - 受け入れテスト中にStruts 2からActionContextを取得するには?
Struts 2 と Tomcat をサーブレット コンテナーとして使用するアプリケーションで、cucumber-jvm を使用して受け入れテスト (動作のテスト) を作成しています。コードのある時点で、HttpSession
によって作成された Struts 2 からユーザーをフェッチする必要がありHttpServletRequest
ます。
私はテストを行っており、Tomcat を実行していないため、アクティブなセッションがなく、NullPointerException
.
呼び出す必要があるコードは次のとおりです。
そして getSession メソッド:
正直なところ、私は Struts 2 についてあまり知らないので、少し助けが必要です。Tomcatの例が埋め込まれたこのcucumber-jvmを見てきましたが、理解するのに苦労しています。
このStruts 2 Junit Tutorialも見てきました。悲しいことに、これはすべての機能を十分にカバーしているわけではなくStrutsTestCase
、最も単純な使用例です (すべてを考慮すると、かなり役に立たないチュートリアルです)。
では、ユーザーがアプリケーションを使用しているかのように受け入れテストを実行するにはどうすればよいでしょうか?
アップデート:
答えてくれたスティーブン・ベニテスに感謝します!
私は2つのことをしなければなりませんでした:
- 提案されているように、HttpServletRequest をモックします。
- HttpSession をモックして、必要な属性を取得します。
cucumber-jvm テストに追加したコードは次のとおりです。
}
cucumber - 値のリストを Cucumber シナリオ アウトラインに渡す
100 人の従業員名を検証するシナリオがあります。QueryString はそれらを xml 形式で返します。やりたいことは、以下のようなアサーション ステートメントですべての従業員名を検証することだけです。シナリオ アウトラインの例に各名前を追加する代わりに、入力として 100 人の従業員名のリストを送信して、Java で反復処理し、アサーション条件で簡単に検証できるようにすることは可能ですか。ご意見をお聞かせください。
cucumber - きゅうり/gradleの例がレポートを生成していませんか?
私はグラドルとキュウリを一緒に使用して調査しており、キュウリの github でこの素敵な例を見つけました。
そのため、リポジトリを複製して自分で実行しました。構成されているため失敗しましたが、出力するように構成されているように見えるHTML または JSON レポートが見つかりませんでした。私はきゅうりにまったく慣れていないので出演と言いますが、このクラスはそれをどこに置くかを示しているようです:
ただし、実行後にビルド ディレクトリに表示されgradle cucumber
ません。cucumber-html-report ディレクトリはなく、cucumber-report.json ファイルもありません。問題があれば、Java 7 と Gradle 1.6 で実行しています。
アイデア?これは Cucumber/Gradle 統合の既知の問題ですか?