Articles of moq

Appel de méthode générique moqueuse pour tout paramètre de type donné

J’ai une interface public interface IDataProvider { T GetDataDocument(Guid document) where T:class, new() } Je voudrais me moquer de cela, qu’il renverrait simplement une nouvelle instance d’un type donné, quel que soit le type exact, quelque chose comme: myMock.Setup(m => m.GetDataDocument<It.IsAny()>(It.IsAny())) .Returns(() => new T()); (ce qui ne fonctionne pas bien sûr, car je ne […]

Appel de la méthode originale avec Moq

J’ai un ProductRepository avec 2 méthodes, GetAllProducts et GetProductByType, et je veux tester la logique à GetProductByType. En interne, GetProductByType effectue un appel à GetAllProducts, puis filtre les bons. public virtual IEnumerable GetAllProducts() { //returns all products in memory, db etc } public virtual IEnumerable GetProductsByType(ssortingng type) { return (from p in GetAllProducts() where p.Type […]

Moq, utilisation ssortingcte vs perte

Dans le passé, je n’utilisais que des Rhino Mocks, avec la maquette typique. Je travaille maintenant avec Moq sur un projet et je m’interroge sur le bon usage. Supposons que j’ai un object Foo avec la méthode Bar qui appelle une méthode Bizz sur l’object Buzz. Dans mon test, je veux vérifier que Bizz est […]

Réinitialiser la vérification simulée dans Moq?

Configurer en tant que tel: public interface IFoo { void Fizz(); } [Test] public void A() { var foo = new Mock(MockBehavior.Loose); foo.Object.Fizz(); foo.Verify(x => x.Fizz()); // stuff here foo.Verify(x => x.Fizz(), Times.Never()); // currently this fails } En gros, je voudrais entrer du code dans les // stuff here pour faire passer le foo.Verify(x […]

Se moquer des propriétés virtuelles en lecture seule avec moq

Je n’ai pas trouvé le moyen de le faire, même si cela peut être fait à la main, alors pourquoi pas avec moq?

MOQ – configuration d’une méthode basée sur des valeurs d’argument (arguments multiples)

J’ai une interface définie comme interface IMath { AddNumbersBetween(int lowerVal, int upperVal); } Je peux configurer un Moq de base pour ce qui suit: Mock mock = new Mock(); mock.Setup(m => m.AddNumbersBetween(It.IsAny(), It.IsAny())); appeler mock.Object.AddNumbersBetween(1,4); puis vérifiez qu’il s’appelait mock.Verify(m => m.AddNumbersBetween(1,4), Times.AtleastOnce()); Je ne peux pas comprendre comment configurer la méthode AddNumbersBetween de telle […]

Comment se moquer de Controller.User utilisant moq

J’ai quelques ActionMethods qui interroge le Controller.User pour son rôle comme celui-ci bool isAdmin = User.IsInRole(“admin”); agissant commodément sur cette condition. Je commence à faire des tests pour ces méthodes avec du code comme celui-ci [TestMethod] public void HomeController_Index_Should_Return_Non_Null_ViewPage() { HomeController controller = new HomePostController(); ActionResult index = controller.Index(); Assert.IsNotNull(index); } et ce test échoue […]

Utiliser Moq pour vérifier que les appels sont effectués dans le bon ordre

J’ai besoin de tester la méthode suivante: CreateOutput(IWriter writer) { writer.Write(type); writer.Write(id); writer.Write(sender); // many more Write()s… } J’ai créé un Moq’d IWriter et je veux m’assurer que les méthodes Write() sont appelées dans le bon ordre. J’ai le code de test suivant: var mockWriter = new Mock(MockBehavior.Ssortingct); var sequence = new MockSequence(); mockWriter.InSequence(sequence).Setup(x => […]

Comment simuler la collection d’objects de session à l’aide de Moq

J’utilise la classe MvcMockHelper de shanselmann pour simuler des trucs HttpContext à l’aide de Moq, mais le problème est de pouvoir atsortingbuer quelque chose à mon object de session simulé dans mon contrôleur MVC, puis de pouvoir lire cette même valeur dans mon test unitaire pour vérification fins. Ma question est de savoir comment atsortingbuer […]

Passer des objects fictifs Moq au constructeur

J’ai utilisé RhinoMocks pendant un bon moment, mais j’ai juste commencé à me pencher sur Moq. J’ai ce problème très basique et cela me surprend que cela ne vole pas dès la sortie de la boîte. Supposons que j’ai la définition de classe suivante: public class Foo { private IBar _bar; public Foo(IBar bar) { […]