9
votes

Exemple de MOQ en utilisant et référait

J'essaie de créer un test contre une méthode héritée qui met en œuvre des paramètres. Pourriez-vous me donner un exemple comment faire cela?

moq

2 commentaires

Vous devez clarifier ce que vous faites et pourquoi cela ne fonctionne pas comme prévu. Juste "MOQ sans paramètres" ne suffit-il pas - pour commencer, pourquoi avez-vous besoin de MOQ? S'il vous plaît montrer du code.


Assez assez. Je dois faire quelque chose comme l'environnement est compliqué. Je me suis demandé s'il y avait un extrait complet quelque part. C'est tout. Je vais mettre quelque chose ensemble et posterai


3 Réponses :


23
votes

Il suffit d'attribuer le paramètre ou ou ref code> de l'essai.

donné cette interface: p>

[TestMethod]
public void Test13()
{
    string bar = "ploeh";

    var legacyStub = new Mock<ILegacy>();
    legacyStub.Setup(l => l.Foo(out bar))
        .Returns(true);

    Assert.IsTrue(legacyStub.Object.Foo(out bar));
    Assert.AreEqual("ploeh", bar);
}


5 commentaires

fantastique.C'est tout ce dont j'avais besoin de quelque chose pour me faire partir. Une chose que vous n'avez pas utilisé le "it.isanany", par exemple (foo (it.isany )); Je pensais que c'était une sorte de requis. Couldriez-vous clarifier Je serais reconnaissant. Merci


Beaucoup de ça.est * dans le QuickStart aussi ... - Je recommande la lecture régulière de la même manière - vous ne pourrez peut-être pas digérer en un seul passage (et vous faites quelque chose de mal si vous en avez besoin dans une seule suite de tests !)


@ devenet247: Comment cela ne vaut-il pas de +1 de votre part - cela montre peu de respect de la marque de la marque? (Quelqu'un a également donné le q A +1 - je suppose que c'est mark - je l'ai A -1 pour y contre -1 comme aucun devoir de maison). + 1ing cette réponse.


salut ruben.i a marqué 2 qui est le max que je semble être autorisé à faire que je n'avais pas encore regardé le signe 1.


Cela pourrait vraiment utiliser une certaine clarté sur les différences de Ref et sortant, car elles sont totalement différentes de MOQ. La question est de cibler mais je détesterais que quelqu'un interpréterait de la même manière.



2
votes

Quelque chose de mal avec le deuxième exemple en haut de https://github.com/moq / MOQ4 / Wiki / QuickStart ? Vous devriez vraiment donner des exemples de ce que vous essayez de faire si vous n'allez pas chercher des choses comme celle-ci.


1 commentaires

Je suis d'accord.Je apologise.i n'a vraiment pas fait savoir où commencer sur celui-ci car le "code réel" réel était un peu compliqué et ne pouvait pas poster cela. Je aurais dû construire un exemple noddy moi-même.Les a appris



1
votes

Incidemment si vous souhaitez utiliser MOQ (actuellement) pour se moquer du paramètre OUT, vous devez également faire le saut de cerceau suivant. Disons que vous vouliez vous moquer d'un paramètre OUT qui a renvoyé un autre objet moqueur E. g. xxx


0 commentaires