我试图使用带有F#代码的Rhino Mocks,以下代码是有问题的:
let service = MockRepository.GenerateMock<IMyService>()
service.Stub(s => s.Name).Return("Service");
Run Code Online (Sandbox Code Playgroud)
这并不奇怪,因为Stub不是IMyService接口的一部分,它是Rhino Mocks定义的C#扩展方法.
Slighltly修改代码的工作原理:
let service = MockRepository.GenerateMock<IMyService>()
RhinoMocksExtensions.Stub<IMyService, string>(service, fun s -> s.Name).Return("Service");
Run Code Online (Sandbox Code Playgroud)
但是,在F#中定义扩展方法会很好,但是它将是一个参数化的通用扩展方法,它将采用元组.我正在尝试varios语法,但没有任何运气.我没有找到F#目前是否支持这些信息.如果有人知道,请告诉我.