У меня есть такой код:
class B;
class A
{
A()
{
}
bool MethodA()
{
B *pB = new B();
bool bRet = pB->SomeFunction();
// remaining logic;
return bRet;
}
~A(){}
};
Мне нужно написать тесты для MethodA .Поэтому я думаю, что мне нужно сломать зависимость от класса B .Каков наилучший способ сделать это?Если бы это была переменная-член, я мог бы вставить заглушку через конструктор.Есть ли какое-либо решение, которое не предполагает изменения в производственном коде ?Если изменение необходимо, что лучше?
Я использую NUnit и работаю над неуправляемым кодом здесь.Пожалуйста, помогите!
edit: Есть еще одна головная боль, которую я пропустил!класс B является классом C ++, и я не должен менять его реализацию.класс A находится в C ++ / CLI, который действует как оболочка для B. Поэтому я думаю, что это снижает вероятность интерфейса для B, поскольку я не могу коснуться B.