Question

Je suis un utilisateur avide du Structuremap Moqautomocker, parfois, nous rencontrons un "vieil ami" de la nôtre.Supposons un "validateur" de classe

public class Validator
{
   private string _connectionString;
   private IEventMachine _eventMachine;

   public Validator(string connectionString, IEventMachine eventMachine)
   {
      _connectionString = connectionString;
      _eventMachine = eventMachine;
   }
} 

La classe ci-dessus n'a pas d'importance, en fait, cela augmentera probablement quelques sourcils, je ne le fais que pour ce post, car je ne pouvais pas penser à un meilleur exemple du bout de mon nez.Le point est qu'il contient un mélange de types de données primitifs ( connexionstring ) et interfaces ( EventMachine ) - pendant les tests unitaires, j'ai généralement défini mes attentes, telles que:

[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());        
}

Alors, la question est: Ce qui précède ne fonctionnera pas, car Moqautomocker n'accepte pas l'argument ConnectionsRing, car il ne peut pas trouver une interface pour celui-ci (ou toute autre primitive à ce sujet).Ma question est simplement: y a-t-il un moyen de dire Moqautomocker quelle devrait être cette valeur?

À l'avance, merci de la lecture.

Était-ce utile?

La solution

Non, je ne crois pas qu'il y a un moyen - c'est une limitation de l'automocuteur.

Nous avons tendance à éviter les paramètres du constructeur primitif en faveur des objets de réglage (voir Comment nous gérons la configuration d'application )

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top