我浏览了所有的应用程序和两个谷歌页面,但没有找到它.如何启用输出窗口?
还有更多的信件.还有更多信件可以满足问题要求.
我有一堂课
public class Foo
{
public Foo(IBar bar)
{
//...
}
public virtual int GetValue(){}
public virtual DoActual()
{
...
var value = GetValue();
...
}
}
Run Code Online (Sandbox Code Playgroud)
我需要测试一下。我想覆盖 GetValue 方法并将特定值返回给调用者。这是我的测试代码:
[TestMethod]
public void Test()
{
var mock = new Mock<Foo>{ CallBase=true}; // problem is here
mock.Setup(x=>x.GetValue()).Returns(1);
mock.DoActual();
//asserts
}
Run Code Online (Sandbox Code Playgroud)
由于我的 Foo 类构造函数具有依赖项,因此我必须将其传递给对象初始值设定项。Moq 提供将参数传递给 params[] 重载:
[TestMethod]
public void Test()
{
var barMock= new Mock<IBar>();
var mock = new Mock<Foo>(barMock){ CallBase=true}; // problem is still here
mock.Setup(x=>x.GetValue()).Returns(1);
mock.DoActual();
//asserts
}
Run Code Online (Sandbox Code Playgroud)
当我以这种方式通过我的模拟时,我收到错误消息,说 …