2015-07-24 1 views
1

ont des attentes comme EXPECT_CALL (...)Quel est l'oposite de EXPECT_CALL? Je

EXPECT_CALL(t1, foo()).Times(1); 

Je veux créer la oposite. Je m'attends à ce qu'une certaine fonction ne soit pas exécutée.

Quelle est la méthode que je devrais utiliser? Quelque chose comme EXPECT_NOT_CALL (...)?

Répondre

5

En gtest quelque chose de similaire à EXPECT_NOT_CALL n'existe pas cependant, il y a plusieurs options pour recevoir ce comportement:

1.Créez un StrictMock. Dans StrictMock tout appel inattendu provoque une défaillance.

2.Utiliser .Times(0):

EXPECT_CALL(t1, foo()).Times(0); 

Dans cette option, vous utilisez le mécanisme de comptage cependant, il vérifie si la valeur est 0 (donc tout appel conduit un échec ...)

3. .Utiliser la méthode 2 et créer un Macro:

#define EXPECT_NOT_CALL(a,b)  EXPECT_CALL(a, b).Times(0);