Intellisense不适用于VS2010中的Moq.Setup

时间:2010-11-07 03:10:05

标签: c# visual-studio-2010 intellisense moq

我正在尝试使用Moq进行单元测试。我将库添加到项目中,然后创建了模拟对象

        Mock _mock = new Mock<DocumentService>();

我能够从Mock对象中获取大多数方法的智能感知,例如Mock.ObjectMock.ShouldBe<>等...但是它不会显示Mock.Setup()

但是,当我手动输入_mock.Setup()并将光标放在Setup()方法上时,它会显示(似乎是)正确的签名。此外,当我尝试在Setup()方法中使用lambda表达式时,我没有得到任何智能感知。

那么我有什么遗漏才能让它发挥作用吗?

2 个答案:

答案 0 :(得分:2)

你有:

Mock _mock = new Mock<DocumentService>();

不应该是:

Mock<DocumentService> _mock = new Mock<DocumentService>();

我确信有一个基类,但这与你所看到的功能的一半切割相符。

请注意,这是var的大量使用!

答案 1 :(得分:0)

我完全没有看到设置方法的另一个原因是我使用2.x版本的Moq.dll而不是4.x。确保项目中使用的版本为3.x或更高(4.x更好)。