我一直试图恢复在测试中使用Rhino Mocks的旧.NET项目。 我正在引用最新的3.6版本,但我似乎缺少对扩展/帮助器的引用......或者......?
我添加了类似于以下代码的代码 - 来自他们的“文档”,并且在很多地方也被引用。问题是“Stub”不是方法也不是扩展方法(不会使用此消息进行编译):
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必须是一个扩展方法。我错过了什么?
答案 0 :(得分:1)
D'哦! 我完全限定了对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())...
我希望这有助于其他人。