問題タブ [googlemock]
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++ - XMLへのGoogleモックテスト出力が機能しない
私は数ヶ月間GoogleTestを使用していて、
(構成).xml
VS2010テストプロジェクトのコマンド引数として。これは、テスト結果をxmlに出力するために機能しています。
現在、Google Mocksを追加していて、テストとGoogle Mocksが機能していますが、テスト結果がファイルに表示されません。テスト結果と模擬結果のXMLファイルを取得するにはどうすればよいですか?
私はこれに関する情報を見つけることができませんでした。
c++ - Googleモックとshared_from_thisのエラー?
私のテストで次のエラーがスローされます。
不明なファイル:エラー:テスト本体に「tr1::bad_weak_ptr」という説明がスローされたC++例外。
一度に1行ずつテストを実行すると、次の呼び出し行で例外がスローされていることがわかります。
オブジェクトをそのメンバーの1つのオブザーバーとして設定する必要があるため、コードが実行されているオブジェクトへのポインターが必要です(boost :: signalを使用してオブザーバーを実装します)。コードは通常の実行中には正常に機能しているように見えますが、テストコードからこのエラーが発生します。
c++ - gmock のモッククラスの自動生成
C++ コードの単体テストにgmockを使用しています。私はgtest フレームワークを使用していません。Visual Studio 2008 の組み込みテスト フレームワークを使用しています。
今私の問題は、実際のクラスの模擬クラスを手動で記述して単体テストを行う必要があることです。たとえば、5 つの関数を持つ A クラスがある場合、5 つの関数を持つ MockAClass を作成する必要があります。これらのクラスを自動的に生成する方法はありますか?
matcher - 出力パラメーターの googlemock マッチャー
クラスが適切な引数を使用して、モックされたクラスのメソッドを呼び出すかどうかをテストしています。私は基本的な期待を設定しました:
これでもいいのですが、引数も検証したいと思います。これは、出力パラメーターを使用するアクセサーのみを持つオブジェクトです。
get_Value
に入れる値を検査するマッチャーを定義するにはどうすればよいaValue
ですか?
c++ - Death テストでの奇妙なヒープ チェッカー エラー
モック オブジェクトとデス テストを使用する googletest 単体テストの 1 つに問題があります。これは、問題を示す最小化されたコード サンプルです。
出力:
アサーションの直後にヒープに残っているモック オブジェクトを googlemock がチェックしているように見えますが、マクロを呼び出す前にEXPECT_DEATH
削除することは、呼び出された関数で使用される可能性があるためa
、明らかに良い解決策ではありません。a
実際には、テスト スイートの分解の最後にチェックが行われることを期待しています。私は何が欠けていますか?
c++ - googlemock のアクションにメソッド パラメータを渡す
QList heightsFromCsvResult の要素を出力パラメーターとして返すメソッド呼び出しに Gmock を使用します。現在動作しているコードは次のとおりです。
からの最初のパラメータ lineNumber
heightsFromCsvResult.at(lineNumber) のインデックスです。
ここで、より一般的な方法で Gmock を使用してみます。
しかし、mockLineNumber は Gmock によって作成されることはないため、このコードは機能しません。しかし、EXPECT_CALL は満たされています。
コードに問題がある人はいますか?
c++ - Google Mockで割り当てられたオブジェクトのタイプを変更するにはどうすればよいですか?
割り当てられたオブジェクトの保護された変数をテストして、メソッドの動作を確認したいと思います。したがって、この割り当てられたオブジェクトにモックオブジェクトを注入したいと思います。私の問題は、このオブジェクトがこのメソッドの間に作成され、パラメーターを介して与えられないことです。
このメソッドは、ConfigurationForColorを作成し、保護されたメソッドbuildConfigurationForColor(...)で保護された変数を変更し、オブジェクトをMappingConfigurationに割り当てる必要があります。configurationForColorで保護された変数を確認したいと思います。
Google Mockを使用してconfigurationForColorのタイプをモックオブジェクトに変更できますか?または、保護された変数をテストする別の可能性はありますか?
c++ - C++ でダイナミック リンク ライブラリからメイン メソッドを無視する方法
私たちのアプリケーションでは、いくつかの動的にリンクされたライブラリを使用しています。最近、これらのライブラリの 1 つのバージョンを更新しました。そのライブラリの開発者は、この新しいバージョン以降、main メソッドを提供しています (Hello World を出力するだけです)。
問題は、独自のメイン メソッドを生成する GTest と GMock を使用していることです。テスト バイナリを実行すると、"Hello World" が表示されるだけなので、間違ったメイン メソッドが使用されています。
テストの主な方法を強制的に使用するにはどうすればよいでしょうか?
更新:これは GMock/GTest の問題のようです。main メソッドは通常生成されますが、既存の main メソッドが現在検出されているため、これは当てはまりません。
c++ - Google Mocked メンバー関数の std::pair 引数がコンパイルに失敗する
1 つのメソッド インターフェイスと、そのインターフェイスをモックするクラスがあります。このメソッドは引数を 1 つ取ります。その引数が型である場合にのみ、std::pair<Something, Something>
コンパイルに失敗します。私は MSVC 2010 で作業しているので、問題がウェットウェアに関連している場合を除き、コンパイラまたは STL 実装に固有の問題である可能性があります。明らかな何かが欠けているに違いありません。ナノプローブのように。
エラーが明らかになるために、実際のテスト ケースのコメントを解除する必要はありません。
std::pair<>
今のところ、 を でラップすることでこの問題を回避してstruct
いますが、これは最適ではありません。
エラー メッセージの長さはかなり残念ですが、役立つ場合があります。
c++ - Google Mock でポインターを回避するには?
私たちのプロジェクトでは Google Mock を使用していますが、クラスが「モック可能」であることを確認するためだけに、プロダクション コードの複数の場所で構造を作成しています。これを行うのは、Google Mock のメリットを享受したいからですが、反対に、より最適な製品コードを使用したいからです。次のケースは私たちがよくすることであり、取り除きたいと考えています。
ご覧のとおり、これは単純化された例にすぎません。詳細は省きました。基本的に、B がポインターであることを取り除きたいと考えています。これをポインターとして使用する理由は、テスト コードで B をサブクラス化 (モック) し、そのセッターで設定できるからです。
これを回避する方法はありますか?B をクラス内でスコープすることはできませんか?
ありがとう