MSTest で関数の戻り値のprivateなメンバにアクセスする
たとえば次のような場合は自動生成されるクラス(Man_Accessor)によって簡単にアクセスできますよね。
でも関数やプロパティの戻り値のオブジェクトのprivateなメンバを検査したかったら…?
次のようにすればいいらしいです。
class Man { private int age; } class ManTest { [TestMethod()] void AgeTest() { var man = new Man_Accessor(); Assert.IsTrue(man.age >= 20); } }
でも関数やプロパティの戻り値のオブジェクトのprivateなメンバを検査したかったら…?
次のようにすればいいらしいです。
class State { private int StateFlag; public State(int state) { StateFlag = state; } } class Man { public State State { get { return new State(0); } } } class ManTest { [TestMethod()] void AgeTest() { var stateObject = new PrivateObject(new Man().State); var state = new State_Accessor(stateObject); Assert.AreEqual(state.StateFlag, 0); } }
コメント
コメントを投稿