私はそのようなコードを持っています:
class Foo
{
private :
int m_nValue;
public :
explicit Foo(const int nValue) :
m_nValue(nValue)
{
}
const int* Pointer() const
{
return &m_nValue;
}
};
void Test()
{
Foo obj(3);
// I want to do something like this.
//Assert::AreEqual(&obj.m_nValue, obj.Pointer());
}
Pointer()
プライベートフィールドのアドレスを返すメソッドをテストしたいm_nValue
。誰かがこの状況のためのいくつかの素晴らしい解決策を手伝ってくれませんか?テストクラス/関数を友達にすることはできますが、本当に好きではありません。
たぶんそれはテストされるべき方法ではありません。しかし、私が知る限り、すべてのパブリックメソッドをテストする必要があります。
テストは、MSVS2012のC++コード用にC++で記述されています