[C++] Whiteboxで内部オブジェクトをmockオブジェクトに置き換える

テストしたいクラス

[cpp]

public class MyClass
{
private InternalClass internalClass;
void SomeMethod()
{
internalClass.InternalMethod();
}
}

[/cpp]

MyClassの内部で作られるクラス

[cpp]

public class InternalClass
{
// MyClass#SomeMethod()の中で呼ばれるMock化したいメソッド
public void InternalMethod()
{
// do something
}
}

[/cpp]

テストコード

[cpp]

public class MyClassUTest
{
@Spy
InternalClass mockInternalClass = new InternalClass();

MyClass MyClass;

@Before
void setUp()
{
myClass = new MyClass();
doNothing().when(internalClass).internalMethod(any());
Whitebox.setInternalState(myClass, "internalClass", mockInternalClass);

}

@Test
public void testMyClass()
{
myClass.SomeMethod();
}
}
[/cpp]

kaizawa

闘う兼業主夫プログラマー。外資系IT企業所属。C++、Java、Solaris、Oracle、セキュリティ、DLP(Data Loss Prevention)、D&D、空手二段(極真会館)、柔道初段、柔術白帯ストライプ3(トライフォース)。English/中文

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です