2011-08-09 12 views
1

こんにちは私は、保護されたスロットのユニットテストを実装しようとしました テスト機能では、私はクラスのオブジェクトを作成し、そのオブジェクトを使用してそのクラスの保護を呼び出しました しかし、次の:保護されたスロットのユニットテスト

/home/puneet/puneet/office/alkimia/payment/backend/backend.h:メンバ関数 'において、ボイドBackendTest :: test_initialization()': /ホーム/ puneet/puneet /オフィス/ alkimia /支払い/バックエンド/ backend.h:70:エラー: 'voidバックエンド:: initializeUsers(const QStringList &)'が保護されています

+0

どのような言語、フレームワークなどがありますか?私は "ユニットテスト"に精通しています。使用しているプログラミング言語の名前は「保護されていますか? –

+0

qt、私はスロットが特定の信号に応答して呼び出される機能である保護されたスロットについて語っていた – Puneet

答えて

4

私は通常これをテスト用に扱いますあなたがテストしているクラスのヘッダーファイルには、テストファイルでそれを#include「myclass.h」、であれば、

ん:以下の定義を使用するように

#define protected public 
#include "myclass.h" 
#undef protected 

これは、コンパイラに指示します代わりに保護されたメソッドをpublicとして扱います。プライベート関数についても同じことができます。

+0

ありがとう....それは働いた – Puneet

関連する問題