0

我一直在尝试恢复一个在测试中使用 Rhino Mocks 的旧 .NET 项目。我正在引用最新的 3.6 版本,但我似乎缺少对扩展/帮助程序的引用......或者......?

我添加了类似于以下代码的代码 - 这些代码来自他们的“文档”,并且在许多地方也被引用。问题是“存根”既不是方法也不是扩展方法(不会与此消息一起编译):

var stubUserRepository = MockRepository.GenerateStub<IUserRepository>();
var stubbedSmsSender = MockRepository.GenerateStub<ISmsSender>();

var theUser = new User{HashedPassword = "this is not hashed password"};    

// following Stub method does not exist.
stubUserRepository.Stub(x => x.GetUserByName("ayende")).Return(theUser);

从 MockRepository.GenerateStub 的返回结果 T 来看,Stub 肯定是一个扩展方法。我错过了什么?

4

1 回答 1

2

哦!我完全限定了对 Rhino.Mocks 命名空间中类的其他引用——这当然不适用于扩展方法:-)

我错过了“使用”声明。

using Rhino.Mocks // ... was missing
var foo = Rhino.Mocks.MockRepository.GenerateStub<IFoo>();

// following Stub method does not exist.
foo.Stub(x => x.bar())...

我希望这对其他人有帮助。

于 2013-11-10T03:42:59.250 回答