【发布时间】:2025-12-19 06:50:11
【问题描述】:
假设我有以下内容:
public interface ISession
{
T Get<T>(dynamic filter); }
}
我有以下代码要测试:
var user1 = session.Get<User>(new {Name = "test 1"});
var user2 = session.Get<User>(new {Name = "test 2"});
如何模拟这个调用?
使用起订量,我厌倦了这样做:
var sessionMock = new Mock<ISession>();
sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 1});
sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 2});
那没有用。返回结果为空
我还尝试使用 Rhino Mocks 执行以下操作:
var session = MockRepository.GenerateStub<ISession>();
session.Stub(x => x.Get<User>(new {Name = "test 1"})).Return(new User{Id=1});
也没有运气。再次为空。
那我该怎么做呢?
谢谢,
【问题讨论】:
标签: c# mocking moq rhino-mocks