【发布时间】:2014-06-24 10:10:42
【问题描述】:
我想用一个例子来解释我的问题。
Class A
{
Fun1()
{
// some code
B obj2 = new B();
obj2.Fun2();
}
}
Class B
{
Fun2()
{
// some code
}
}
// Test Class for Class A
Class A_Test
{
Fun1_Test()
{
A obj1 = new A();
A.Fun1();
}
}
我在这里调用Fun1,它调用fun2()。我想模拟对 fun2() 的调用。
我只需要在 Fun1() 中初始化 B 类对象,我不想使用构造函数。
可以模拟对 fun2() 的调用吗?
【问题讨论】:
-
不要使用直接依赖使用依赖注入。如果你先阅读 SOLID 原则会更好。
-
对于模拟 B 类,您必须将其模拟实现传递给 A 类。按您的方式,您不能这样做。这是使用接口而不是特定实现的原因之一。
标签: c# unit-testing moq