テスト対象のTargetクラスがあります。
friendでprivateのメンバにアクセスできるテスト用のクラスを宣言します。
Target.h
class Target {
private:
friend class TargetTest;
int m_value;
};
テスト用のTargetTestクラスはこうなります。
usingを使ってprivateなメンバにアクセスできるように定義しています。
TargetTest.h
#include <Target.h>
class TargetTest : public Target {
public:
using Target::m_value;
};
TargetTestクラス使えば、Targetクラスと同じ記述でTargetクラスのメンバにアクセスでるようになります。
#include "stdafx.h"
#include "TargetTest.h"
BEGIN_TEST(Test1)
{
TargetTest obj;
obj.m_value = 10;
WIN_ASSERT_EQUAL(10, obj.m_value);
}
END_TEST