同様の質問がされていることは知っていますが、明確な解決策は見つかりませんでした。大規模なクラスからプライベート フィールドをモックしようとしています。プライベート フィールドは以前のメソッドでインスタンス化され、フィールドを参照する後者のメソッドを単体テストしようとしています。
したがって、クラスには以前のメソッドがあります。
public bool validateAll(ref DataEntry[] oEntries, string sMediaPlanId, ITemplateGenerator oTempGen)
{
...
// private field that I am trying to mock
this._sMediaPlanObjective = (MPWrapper.Instance).getMediaPlanObjective(sMediaPlanId);
...
}
そして、プライベート フィールドを参照するメソッドを単体テストしようとしています。
public bool validateFlightObjective(ref MPDataEntry oEntry)
{
...
string entryFlightObjective = oEntry.getFlightObjective();
string mediaPlanObjective = this._sMediaPlanObjective;
if (entryFlightObjective != mediaPlanObjective)
{
return false;
}
...
return true;
}
私は大規模なクラスを持っていて、これがテストしたいメソッドの 1 つにすぎないことを考えると、このプライベート フィールドを単にモックする方法はありますか? 基本的なものが欠けていますか、それとも他のアプローチを検討する必要がありますか?