問題タブ [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.
spring - テスト アプリケーションと組み込みの tomcat の間で Spring コンテナーを共有する
cucumber-jvm を使用して、アプリケーションに統合テスト レイヤーを記述しています。私たちが見つけた課題の 1 つは、テストと Web アプリケーションの間でデータベースを管理することです。
典型的なシナリオは、シナリオの特定のステップでいくつかのエンティティを永続化し、次にユーザー インターフェイスでいくつかのアクションを実行して、さらに多くのエンティティを永続化することです。最後に、データベースをクリーンアップします。cucumber-jvm テストは 1 つの jvm で実行され、Web アプリケーションは別の jvm で実行されているため、(少なくとも私が認識している方法では) トランザクションを共有できないため、データベースを手動でクリーンアップする必要があります。
私が最初に考えたのは、cucumber-jvm テストと同じ JVM で組み込みのメモリ内データベース (HSQLDB) から実行される組み込み Tomcat サーバーを使用することでした。このようにして、単一のスプリング コンテナーを共有し、拡張することで、すべてのオブジェクトを取得できる単一のトランザクションを共有できる可能性があります。
私の最初のテストでは、Spring が 2 回ロードおよび構成されているように見えます。1 回目はテストが開始されて cucumber.xml が読み取られるとき、2 回目は組み込みの tomcat が開始されて Web アプリケーションがその applicationContext.xml を読み取るときです。これらは 2 つの完全に別のコンテナーにあるように見えます。これは、1 つのコンテナーで指定されたオブジェクトを別のコンテナーで解決しようとしても解決されないためです。構成を複製すると、同じ ID を持つ重複した Bean に関するエラーが発生します。
テスト アプリケーションと組み込みの tomcat の両方に同じコンテナーを使用するように Spring に指示する方法はありますか?
Spring 3.2.2.GA と Embedded Tomcat 7.0.39 (両方のライブラリの最新バージョン) を使用しています。
私はクレイジーですか?技術的な詳細を提供する必要がありますか? 間違った用語を使用している場合はお詫び申し上げます。
ありがとう
ps 私の問題に精通しているようで、私が試している解決策に代わる解決策を提案できる場合は、お知らせください。
cucumber-jvm - 実行時に Cucumber-JVM を使用してシナリオをスキップすることは可能ですか?
タグ @skiponchrome をシナリオに追加したいのですが、Chrome ブラウザーで Selenium テストを実行するときにシナリオをスキップする必要があります。これを行う理由は、一部のシナリオは一部の環境で機能し、他の環境では機能しないためです。これはブラウザー テスト固有のものでさえない可能性があり、OS プラットフォームなどの他の状況に適用できる可能性があります。
フックの例:
~@skiponchrome キュウリ タグでタグをスキップするように定義できることはわかっていますが、実行時にタグをスキップしたいと思います。これにより、特定の環境でテスト実行を開始するときに、どのステップをスキップするかを事前に考える必要がなくなります。
タグをキャッチし、失敗/エラーを報告せずにシナリオをスキップするフックを作成したいと考えています。これは可能ですか?
scala - Guice と Cucumber JUnitRunner を使用した Scala 用の Cucumber JVM?
私たちは Scala 用に Cucumber JVM を使用しています。アプリケーションが成長するにつれて、画像にもキュウリを追加するとよいでしょう。
問題は、その方法に関する使用可能な例/チュートリアル/ドキュメントが表示されないことです。
@RunWith(classOf[Cucumber]) RunCukesTest クラスが動作しています。これは開始され、.feature ファイルと StepDefinition クラスを見つけます。問題は、この Cucumber クラスが Guice なしでステップ定義をインスタンス化し、すべてのインジェクションが null のままになり、テストが失敗することです。
Cucumber -guice の設定のように、GuiceFactory と cucumber-guice.properties を使用するように Cucumber を設定する方法があるかもしれません。
grails - cucumber grails - 実装されていないステップを含む機能は引き続きパスします
私はごく最近、キュウリとグレイルを使って BDD を試し始めました。私はキュウリのレシピ本のチュートリアルに従っており、機能を作成しましたが、テストを実装するためのステップ定義はまだ作成していません。
を実行するgrails test-app :cucumber
と、ステップが実装されていないことを示すためにテストが失敗することが予想されますが、テスト結果は成功です。
これはおそらく明らかなことだと思いますが、困惑しています。上記に含まれていないものを見る必要がある場合はお知らせください。
gradle - cucumber-jvm.jar の展開時にファイル権限の取得エラーが発生する
タイプJarのgradleタスクを使用して、依存関係jarを展開することにより、機能テスト用の実行可能jarを作成しようとしています。
Cucumber-1.1.3 は依存関係の 1 つです。JVM 1.6(会社標準)でgradle 1.1を使用しています
次のエラーが表示されます。
org.gradle.api.GradleException: ZIP を展開できませんでした '/dev/shm/263985/transformer/caches/artifacts-14/filestore/info.cukes/cucumber-java/1.1.3/jar/4b389fbe494942b319518d27ae38571f477967f6/cucumber-java- 1.1.3.jar」。org.gradle.api.internal.file.archive.ZipFileTree.visit(ZipFileTree.java:97) で org.gradle.api.internal.file.collections.FileTreeAdapter.visit(FileTreeAdapter.java:96) で org.gradle .api.internal.file.AbstractFileTree$FilteredFileTree.visit(AbstractFileTree.java:136) at org.gradle.api.internal.file.AbstractFileTree.getFiles(AbstractFileTree.java:37) at org.gradle.api.internal.file .CompositeFileCollection.getFiles(CompositeFileCollection.java:39) at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:60) at org.gradle.api.internal.changedetection.
原因: org.gradle.api.GradleException: zip エントリ /dev/shm/263985/transformer/caches/artifacts-14/filestore/info.cukes/cucumber-java/1.1.3/jar/4b389fbe494942b319518d27ae38571f477967f6/cucumber をコピーできませんでした-java-1.1.3.jar!cucumber/api/java/ar/??.class を '/dev/shm/263985/transformer/target/tmp/expandedArchives/cucumber-java-1.1.3.jar_6mn6efsv2arssmg9fup79f3fm5/cucumber/ api/java/ar/??.class'. org.gradle.api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeElement.java:68) で org.gradle.api.internal.file.archive.ZipFileTree$DetailsImpl.getFile(ZipFileTree.java:124) で org.gradle .api.internal.file.AbstractFileTree$1.visitFile(AbstractFileTree.java:39) at org.gradle.api.internal.file.AbstractFileTree$FilteredFileTree$1.visitFile(AbstractFileTree.java:145) at org.gradle.api.internal .file.archive.
原因: java.io.IOException: ファイル ??.class にファイル権限 420 を設定できませんでした。errno: 84 at org.gradle.internal.nativeplatform.filesystem.LibcChmod.chmod(LibcChmod.java:39) at org.gradle.internal.nativeplatform.filesystem.GenericFileSystem.chmod(GenericFileSystem.java:67) at org.gradle. api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeElement.java:65) ... 65 もっと見る
注:これは、gradle 1.1 を JVM 1.7 で使用する場合に正常に機能します。
なぜこれが起こっているのか、また修正や代替手段があるかどうかを教えてください。前もって感謝します!!
json - Cucumber レポートに使用される Cucuber.json ファイルに関する問題
きゅうりのテストをmaven-cucumber-reporting(masterthought.netから)と統合しようとしていました。彼らの Jenkins プラグインをダウンロードし、pom.xml ファイルに組み込みました。私のEclipseプロジェクトには2つのテストがあり、mavenでもこれらのテストを実行すると、正常に実行されます。しかし、HTML レポートと cucumber.json を見ると、1 つのテスト ケースの詳細しか表示されません。Cucumber-JVM を使用しています。どこかで間違っている場合はお知らせください。
ありがとう、プラシャント
java - Maven を使用して Cucumber 機能ファイルが実行されない
こんにちは、Eclipse で Maven を使用して Java プロジェクトをセットアップしました。
スクリプトを実行しようとするたびに問題に直面しています。これは、機能ファイルから解析している目的の Web サイトを開かないことによって実行されます。
次のコードとEclipseでの私のディレクトリ設定の画像を見てください
これが PageStepsDefs.java の私のコードです
RunCukeTest.java のコードは次のとおりです。
機能ファイルのステートメントは次のとおりです
どんな助けも素晴らしいでしょう。
前もって感謝します。ザイン
android - Robolectric と Cucumber の統合
Robolectric と Cucumber (JVM) の両方を組み合わせたいと考えています。
ActivityStepdefs
現在、アクティビティ管理の 2 つのステップ定義が定義されている 2 つのクラスがあります。
私の 2 番目のクラスはRoActivity
、たとえばアクティビティがそのクラス名から作成され、Robolectric が使用される場所です。
このクラスのテストRoActivityTest
を使用して実行すると合格しますが、 (junit テストとして機能を実行するためのクラス) を実行すると、コードは Robolectric の一部として実行されません。つまり、プロジェクトで機能を検索し、それを内部のメソッドと照合して最後に、このクラスはからメソッドを呼び出しますRobolectricTestRunner
RunCukesTest
RoActivity
RunCukesTest
ActivityStepdefs
RoActivity
両方の junit both* ランナーでテストを実行することは可能ですか?
よくわかりませんが、junit ルールを使用して powermock のようなことを行うことはおそらく可能です。
その場合、どのルールを定義する必要がありますか?
*キュウリとRobolectric