問題タブ [cucumber-cpp]
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.
c++ - 複数の機能ファイルを処理するときの Cucumber-cpp のリンカー エラー
私は BDD フレームワークCucumber-cppをしばらくの間使用してきましたが、大きな問題はありませんでしたが、モジュールの機能セットを拡張すると、いくつかのリンカー エラーが発生することが判明しました。
設定:
- Linux
- きゅうり-cpp
- メイクファイル
次から始めると:
と
これをmakeでビルドすると、問題なくテストバイナリが生成され、キュウリを介した実行は期待どおりに機能します。
しかし、別の機能ファイル (テストする別の機能を記述したファイル) を追加すると、
関連付けられたテスト ファイルを使用して、
これら 2 つのファイルをコンパイルすると、次のリンカ エラーが発生します。
生成された obj ファイルを見ると、次のようになります。
問題は、cukeRegId 関数が 2 つの obj ファイルでまったく同じ装飾名を持っているように見え、リンカー エラーが発生します。今、私はこれをどのように防ぐことができるかについて行き詰まっています。
frank - Frank/Cucumber を使用した一時的なメッセージのチェック
Frank/Cucumber を初めて使用するので、お役に立てれば幸いです。iOS アプリをテストしようとしており、不正な資格情報でのログインが失敗することを保証するテストを作成しています。資格情報を入力してログインを試みることはできますが、メッセージが約 4 秒間表示されてから、消えてユーザーがログイン画面に戻ります。構文を使用しようとしています
次に、「エラーメッセージ」が表示されるのを待ちます
しかし、失敗する前に4分のタイムアウトに入りました。この一時的なメッセージをトラップして認識するために使用または検討する必要があるものは他にありますか?
ありがとう、
パット
boost - Cucumber-cpp ステップ定義ランナーがすぐに終了する
cucumber-cpp github repoおよびcucumber-cpp step definition quick-start guideに記載されている指示に基づいて、cucumber ステップ定義ファイルを作成しました。機能とその step_definition ファイルはfeatures/
フォルダーの下にあり、cpp コードは cucumber-cpp ヘッダーでビルドされ、指示に従って libcucumber-cpp.a にリンクされています。
Cucumber のステップ定義ランナーは別のプロセスとして実行し続け、ランナーの実行中に cucumber コマンドを実行する必要があります。実際、cucumber-cpp リポジトリのサンプルはそのように実行されますが、gtest または boost テストを使用して独自のステップ定義を作成すると、cucumber からの呼び出しを待たずにすぐに実行されます。
すぐに実行するのではなく、何も言わずにキュウリの呼び出しを待つ必要があります。cucumber-cpp のサンプル コードをプロジェクトにコピー アンド ペーストしたところ、それらもすぐに終了しました。そのため、cucumber-cpp の例と私の例の間にソース コードの違いはありませんが、動作が異なります。cmake ビルド スクリプトが別のライブラリとリンクしているのではないかと疑っていましたが、リンク プロセスもまったく同じです。
なぜこれが起こっているのか、誰にも分かりますか?
これは、私が持っているエラーを再現する最小限のコードを含むリポジトリです。https://github.com/onatbas/CucumberCppTest 完全なトレースは readme にあります。
きゅうりファイルは の下にあり、ここfeatures/
にあるものと同一の機能は 1 つだけです。
ランナー実行可能ファイルはで定義されていますtests/CMakeLists.txt
クイック リファレンス: ステップ定義ファイル AdditionTest.cxx は次のとおりです。
実行可能ファイルが追加される tests/CMakeLists.txt ファイルは次のとおりです。
c++ - Cucumber-CPP: 例ではすべてのステップが定義されていません
このCucumber-CPP github ページに従って、フレームワークをセットアップしています。リリース バージョンv0.4があります。残念ながら、ステップ定義はどれも検出されません。
cmake --build build --target features
を実行して、一般的なキュウリ テスト スイートに対して実装をチェックすると、次の結果が得られます。
[ 3%] 'gtest' の更新手順を実行中
[ 7%] 'gtest' の設定手順を実行中 -- gtest configure コマンドが成功しました。/Users/xxxx/Downloads/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-configure-.log も参照してください[11%] 「 gtest
」のビルド ステップを実行しています -- gtest ビルド コマンドが成功しました。/Users/xxxx/Downloads/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-build-.log も参照[ 15%] 「 gtest
」のインストール手順がない
[ 19%] 「gtest」を完了
[ 30 %] ビルドされたターゲット gtest
[100%] Built target cucumber-cpp UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
13 シナリオ (13 未定義)
52 ステップ (52 未定義)
0m0.031s
私の環境:
Ubuntu 15.04 64bit
Boost 1.55.0.2
Ruby 2.3.3
gcc 4.9.2
CppSpec 最新開発 GoogleTest
/Mock 1.7.0
aruba (0.14.2)
cucumber (2.4.0) gherkin
(4.0.0)
rspec (3.4.0)
multi_json ( 1.12.1)