2010-09-28 7 views
4

Que sont les objets Mock? Pouvez-vous s'il vous plaît expliquer le concept? Comment utiliser les objets Mock en C++? Tout exemple de source sera très utile.Objets factices en C++

Répondre

3

Lisez sur mockcpp et vous trouverez les réponses à votre question. Mocks sont parfaits pour les tests où vous pouvez vous concentrer sur le test d'une chose et se moquer du comportement des autres pièces dans l'environnement.

2

En général, un objet fantaisie fait référence à une instance d'une classe qui, comme son nom l'indique, "se moque" de la fonctionnalité de la classe d'origine. Cela est généralement simplifié lors du codage par rapport à une interface. Ainsi, lors du test d'un composant dépendant d'une interface, il vous suffit de mettre en œuvre l'interface pour renvoyer les résultats nécessaires à l'exécution de vos tests.

Vous trouverez plus d'informations ici, y compris les différents types de simulacres qui sont utilisés pour les tests:

J'espère que cela aide.

Merci, Damian

+0

Encore Merci! Wish pourrait accepter 2 bonnes réponses! –

+0

@Als: pas de problème :), content de pouvoir aider –

1

Google Mock est un cadre pour se moquant des dépendances de l'unité d'être de classe testée. Le site comprend également un bon introduction.

0

Fake-It est un cadre de simulation simple pour C++. FakeIt utilise les dernières fonctionnalités de C++ 11 pour créer une API expressive (mais très simple). Avec FakeIt, il n'est pas nécessaire de re-déclarer des méthodes ni de créer une classe dérivée pour chaque simulation. Voici comment Faux-It:

struct SomeInterface { 
    virtual int foo(int) = 0; 
}; 

// That's all you have to do to create a mock. 
Mock<SomeInterface> mock; 

// Stub method mock.foo(any argument) to return 1. 
When(Method(mock,foo)).Return(1); 

// Fetch the SomeInterface instance from the mock. 
SomeInterface &i = mock.get(); 

// Will print "1" 
cout << i.foo(10); 

Il y a beaucoup plus de fonctionnalités à explorer. Allez-y et give it a try.