UnitTest ++を使用して単体テストをコーディングするときに、厄介な問題に直面しています。プライベートメンバークラスのフィールドにクリーンな方法で(またはおそらく何らかの方法で)アクセスする方法を考えています...)
これまでに、テスト対象のクラスから派生したクラスフィクスチャを使用して保護されたメンバーにアクセスするソリューションがあります。次のコードはアイデアを示しています。
struct MyFixture : ClassUnderTest { };
TEST_FIXTURE(MyFixture, OneTest)
{
do_something();
CHECK(protected_field == true);
}
それでも、一部の構成では継承に関連する問題が発生する可能性があり、とにかく、保護されたメンバーだけにアクセスしてテストできるため、これはあまりクリーンではないと思います。
テストクラスを友達として宣言しようとしましたが、UnitTest ++によって特別な方法で作成されているため、まだそれを行うことができませんでした。
テストクラスをテスト中のクラスの友達にする方法を知っている人はいますか?
この問題にもっと簡単に、または別の方法で取り組む別の方法はありますか?
よろしくお願いします。