3
我是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這個值應該是什麼?
提前,謝謝你的閱讀。