MoqAutoMocker和原始构造函数参数
问题描述:
我是StructureMap MoqAutoMocker的一个*用户,但有时我们遇到了我们的“老朋友”。假设一类“验证”MoqAutoMocker和原始构造函数参数
public class Validator
{
private string _connectionString;
private IEventMachine _eventMachine;
public Validator(string connectionString, IEventMachine eventMachine)
{
_connectionString = connectionString;
_eventMachine = eventMachine;
}
}
类以上并不重要,事实上,它可能会提出几个眉毛,我只是使它成为这个职位,因为我无法想到的更好的例子从我的鼻尖。问题的关键是,它包含原始数据类型(的ConnectionString)和接口(EventMachine的)的混合 - 单元测试时,我通常设置了我的期望,如:
[TestMethod]
public void Validate_WhenCalled_PublishesEnterEvent()
{
// Arrange
var Instance = new MoqAutoMocker<Validator>();
var eventMachineMock = Mock.Get(AutoMock.Get<IEventMachine>());
// Act
Instance.Validate();
// Assert
eventMachineMock.Verify(m => m.Publish(It.IsAny<string>(), Times.Once());
}
所以,问题是: 以上将不起作用,因为MoqAutoMocker无法接受connectionString参数,因为它无法找到它的接口(或任何其他原语)。我的问题很简单:有没有办法告诉MoqAutoMocker这个值应该是什么?
提前,谢谢你的阅读。