0
virtual
のGoogle Mockをテストしましたが、non-virtual
のためにはできません。 "hi-perf依存性注入"という概念を理解できませんでした。クラスの非仮想ファンクションのGoogleモック
以下は、non-virtual
の機能を持つクラスです。私はGoogle Mockを使ってこの機能をテストしたいと思います。簡単にするために、私はコア部分を削除して、単一のままにしましたreturn
ステートメント。私はどんな概念が欠落し
// gtest and gmock files are added
class DetectorGPIO
{
DetectorGPIO(void);
virtual ~DetectorGPIO() {}
StartPulseHigh();
};
BOOL DetectorGPIO::StartPulseHigh()
{
return 1;
}
class MockDetectorGPIO : public DetectorGPIO
{
public:
MOCK_METHOD0(StartPulseHigh,BOOL(void));
};
アム:以下
は一例ですか?
Google Mockを初めて使用しました。どんな助けもありがとう。
私が理解している限り、それは常に仮想多形体を模倣し、それは常に私の有用性を制限していました。 –
問題はなんですか?コンパイルの問題はありますか?もしそうなら、コンパイラの出力は何ですか?私はGoogle Mockに精通していませんが、あなたのソースコードを見てみましょう: '' 'StartPulseHigh'''を使っていますが、あなたの' 'DetectorGPIO'''クラスでは定義されていないようです。 – Freakyy
@Freakyy、実際に私はクラスに定義を追加するのを忘れていました。私は今追加しました。 –