2013-11-10 31 views
0

我一直在尝试复活一个旧的.NET项目,在其测试中使用Rhino Mocks。 我引用了最新的3.6版本,但我似乎缺少对扩展/帮助程序的引用...或...?缺少MockRepository.GenerateStub的存根(扩展)方法<T>()

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

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,存根必须扩展方法。我错过了什么?

回答

1

D'oh! 我完全限定了Rhino.Mocks命名空间中其他类的引用 - 哪一个课程不适用于扩展方法:-)

我错过了“using”语句。

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

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

我希望这可以帮助别人。