У меня есть следующий код в модульном тестеMock класса в классе в модульном тесте
using Moq;
using OtherClass;
[TestClass]
public class TestClass
{
[TestMethod]
public void TestMethod()
{
OtherClass other = new OtherClass();
OtherClass.foo();
}
}
Вот другой класс
using ThirdClass;
public class OtherClass
{
public void foo()
{
ThirdClass third = new ThirdClass();
third.bar();
}
}
ThirdClass еще находится в стадии разработки, но я хочу чтобы иметь возможность запускать мои модульные тесты с использованием moq. Есть ли способ сказать moq, чтобы высмеивать ThirdClass внутри TestClass, не используя/не зависящий от Metcl/В идеале что-то вроде:
public void TestMethod()
{
OtherClass other = new OtherClass();
Mock<ThirdClass> third = new Mock<ThirdClass>();
third.setup(o => o.bar()).Returns(/*mock implementation*/);
/*use third in all instances of ThirdClass in OtherClass*/
OtherClass.foo();
}
Похоже 'OtherClass' должен быть * * при условии, экземпляр' ThirdClass' вместо * создающего * один. – David