Home | History | Annotate | Download | only in easymock-tools

Lines Matching full:code

25 Les Mock Objects simulent le comportement du code

36 de code généré!
44 <li>Supporte le refactoring sur les Mock Objects : le code de test ne sera pas cassé au runtime lors du renommage de
77 <li>Décompressez le fichier zip d'EasyMock (<code>easymock-3.1.zip</code>).</li>
78 <li>Allez dans le répertoire <code>easymock-3.1</code>.</li>
79 <li>Ajoutez le jar d'EasyMock (<code>easymock.jar</code>) à votre classpath.</li>
81 <li>Les tests sont dans <code>easymock-3.1-tests.jar</code> et peuvent être lancés à l'aide d'un JUnit TestRunner
83 <li>Le code source d'EasyMock est situé dans <code>easymock-3.1-sources.jar</code>.</li>
101 Les exemples suivants utilisent l'interface <code>Collaborator</code>:
116 objets liés (des listeners dans ce cas) à la classe nommée <code>ClassUnderTest</code>:
136 Le code de la classe et de l'interface est disponible dans
137 le package <code>org.easymock.samples</code> dans <code>easymock-3.1-samples.jar</code>
150 fichier <code>easymock-3.1-samples.jar</code> contient une version modifiée de ce test.
181 <code>org.easymock.EasyMock</code>.
225 Après activation à l'étape 3, <code>mock</code>
226 est un Mock Object de l'interface <code>Collaborator</code>
227 qui n'attend aucun appel. Cela signifie que si nous changeons notre <code>ClassUnderTest</code>
229 une <code>AssertionError</code>:
249 <code>mock.documentAdded()</code>
261 Aussi, dans l'étape d'enregistrement (avant d'appeler <code>replay</code>),
263 les appels de méthode. Après l'appel à <code>replay</code>,
268 Si <code>classUnderTest.addDocument("New Document", new byte[0])</code>
270 Mock Object lèvera une <code>AssertionError</code>:
311 Pour vérifier cela, nous devons appeler <code>verify(mock)</code>:
345 déclenche l'appel à <code>mock.documentChanged()</code>
366 Afin d'éviter la répétition de <code>mock.documentChanged("Document")</code>,
368 <code>times(int times)</code> sur l'objet retourné par <code>expectLastCall()</code>.
369 Le code ressemble alors à cela:
405 S'il y a trop peu d'appels, <code>verify(mock)</code>
406 lève une <code>AssertionError</code>:
422 <code>expect(T value)</code> et spécifions la valeur de retour avec la
423 méthode <code>andReturn(Object returnValue)</code> sur l'objet retourné par
424 <code>expect(T value)</code>.
428 Si <code>ClassUnderTest</code> fait un appel pour supprimer un document,
430 par appel à <code>byte voteForRemoval(String title)</code>.
433 supprimé et l'appel à <code>documentRemoved(String title)</code>
462 compilation. Par exemple, le code suivant ne compilera pas du fait que
470 Au lieu d'appeler <code>expect(T value)</code> pour
472 nous pouvons aussi utiliser l'objet retourné par <code>expectLastCall()</code>.
496 retourné par <code>expectLastCall()</code> et <code>expect(T value)</code>
497 fournit la méthode <code>andThrow(Throwable throwable)</code>.
499 d'enregistrement après l'appel au Mock Object pour lequel le <code>Throwable</code>
503 Les exception non "checkées" (comme <code>RuntimeException</code>,
504 <code>Error</code> ainsi que toutes leurs sous classes) peuvent
516 par <code>expectLastCall()</code> et <code>expect(T value)</code> fournit la méthode
517 <code>andAnswer(IAnswer answer)</code> permettant de spécifier une implémentation
518 de l'interface <code>IAnswer</code> utilisée pour créer
522 Au sein d'<code>IAnswer</code>, les arguments passés lors de l'appel au mock sont
523 disponibles via <code>EasyMock.getCurrentArguments()</code>.
528 Une alternative à <code>IAnswer</code> sont les méthodes <code>andDelegateTo</code> et
529 <code>andStubDelegateTo</code>. Elles permettent de déléguer un appel à une
531 L'avantage est que les paramètres normalement récupéré avec <code>EasyMock.getCurrentArguments()</code>
532 pour <code>IAnswer</code> sont maintenant passés à la méthode de l'implémentation concrète.
567 Les méthodes <code>times</code>, <code>andReturn</code> et <code>andThrow</code>
569 nous définissons <code>voteForRemoval("Document")</code> pour
574 <li>lever une <code>RuntimeException</code> sur le quatrième appel,
591 utilisées à la place de <code>times(int count)</code>:
594 <dt><code>times(int min, int max)</code></dt>
595 <dd>pour attendre entre <code>min</code> and <code>max</code> appels,</dd>
596 <dt><code>atLeastOnce()</code></dt>
598 <dt><code>anyTimes()</code></dt>
604 vous pouvez utiliser <code>once()</code> ou <code>times(1)</code>.
610 Sur un Mock Object retourné par <code>EasyMock.createMock()</code>,
613 utilisez <code>EasyMock.create<i>Strict</i>Mock()</code>.</p>
618 conflit. <code>verify(mock)</code> montre tous les appels de méthode manqués.
627 d'appel en utilisant <code>checkOrder(mock, true)</code> et la
628 désactiver en utilisant <code>checkOrder(mock, false)</code>.
642 les arguments<code> de type Object</code> sont comparés, par défaut, avec
643 <code>equals()</code>. Cela peut introduire des problèmes. Considérons l'exemple suivant:
651 cela provoque une exception du fait que <code>equals()</code> compare l'identité
671 <code>aryEq</code>, importée statiquement de la classe <code>EasyMock</code>:
686 <dt><code>eq(X value)</code></dt>
689 <dt><code>anyBoolean()</code>, <code>anyByte()</code>, <code>anyChar()</code>, <code>anyDouble()</code>, <code>anyFloat()</code>, <code>anyInt()</code>, <code>anyLong()</code>, <code>anyObject()</code>, <code>anyObject(Class clazz)</code>, <code>anyShort()</code></dt>
692 <dt><code>eq(X value, X delta)</code></dt>
693 <dd>Vérifie que la valeur reçue égale la valeur attendue, plus ou moins un delta. Disponible pour les <code>float</code> et <code>double</code>.</dd>
695 <dt><code>aryEq(X value)</code></dt>
696 <dd>Vérifie que la valeur reçue égale la valeur attendue en s'appuyant sur <code>Arrays.equals()</code>. Disponible pour les tableaux d'objets et de types primitifs.</dd>
698 <dt><code>isNull()</code>, <code>isNull(Class clazz)</code></dt>
701 <dt><code>notNull()</code>, <code>notNull(Class clazz)</code></dt>
704 <dt><code>same(X value)</code></dt>
707 <dt><code>isA(Class clazz)</code></dt>
710 <dt><code>lt(X value)</code>, <code>leq(X value)</code>, <code>geq(X value)</code>, <code>gt(X value)</code></dt>
712 ou égale/supérieure à la valeur attendue. Disponible pour tous les types primitifs numériques et les implémentations de <code>Comparable</code>.</dd>
714 <dt><code>startsWith(String prefix), contains(String substring), endsWith(String suffix)</code></dt>
715 <dd>Vérifie que la valeur reçue commence par/contient/se termine par la valeur attendue. Disponible pour les <code>String</code>s.</dd>
717 <dt><code>matches(String regex), find(String regex)</code></dt>
718 <dd>Vérifie que la valeur reçue/une sous-chaîne de la valeur reçue correspond à l'expression ré. Disponible pour les <code>String</code>s.</dd>
720 <dt><code>and(X first, X second)</code></dt>
721 <dd>Est valide si les résultats des deux comparateurs utilisés en <code>first</code> et <code>second</code> sont vérifiés. Disponible pour tous les types primitifs et objets.</dd>
723 <dt><code>or(X first, X second)</code></dt>
724 <dd>Est valide si l'un des résultats des deux comparateurs utilisés en <code>first</code> et <code>second</code> est vérifié. Disponible pour tous les types primitifs et objets.</dd>
726 <dt><code>not(X value)</code></dt>
727 <dd>Est valide si le résultat du comparateur utilisé dans <code>value</code> est négatif.</dd>
729 <dt><code>cmpEq(X value)</code></dt>
730 <dd>Vérifie que la valeur reçue égale la valeur attendue du point de vue de <code>Comparable.compareTo(X o)</code>. Disponible pour tous les types primitifs numériques et les implémentations de <code>Comparable</code>.</dd>
732 <dt><code>cmp(X value, Comparator&lt;X&gt; comparator, LogicalOperator operator)</code></dt>
733 <dd>Vérifie que <code>comparator.compare(reçue, value) operator 0</code> où <code>operator</code> est &lt;,&lt;=,&gt;,&gt;= ou ==.</dd>
735 <dt><code>capture(Capture&lt;T&gt; capture)</code>, <code>captureXXX(Capture&lt;T&gt; capture)</code></dt>
736 <dd>Laisse passer n'importe quelle valeur mais la capture dans le paramètre <code>Capture</code> pour un usage ultérieurs. Vous pouvez utiliser <code>and(someMatcher(...), capture(c))</code> pour
737 capturer le paramètre d'un appel de méthode en particulier. Vous pouvez aussi spécifier le <code>CaptureType</code> pour indiquer à l'objet
738 <code>Capture</code> de conserver le premier (<code>FIRST</code>), le dernier (<code>LAST</code>), tous (<code>ALL</code>) ou aucun (<code>NONE</code>) des objets capturés</dd>
757 doit être défini et la méthode statique <code>eqException</code>
761 Pour définir le nouveau comparateur d'argument, nous implémentons l'interface <code>org.easymock.IArgumentMatcher</code>.
762 Cette interface contient deux méthodes: <code>matches(Object actual)</code>, vérifiant
763 que l'argument reçu est bien celui attendu, et <code>appendTo(StringBuffer buffer)</code>,
797 La méthode <code>eqException</code> doit instancier le
799 à EasyMock via la méthode statique <code>reportMatcher(IArgumentMatcher matcher)</code>
801 (typiquement <code>0</code>, <code>null</code> ou <code>false</code>). Une première tentative ressemblerait à ceci:
810 Cependant, cela ne fonctionnerait que si la méthode <code>logThrowable</code>
811 de l'exemple acceptait <code>Throwable</code>s et quelque chose de plus spécifique du style de <code>RuntimeException</code>.
812 Dans ce dernier cas, le code de notre exemple ne compilerait pas:
819 code>eqException</code>
820 avec un <code>Throwable</code> en paramètre, nous utilisons un type générique
821 qui hérite de <code>Throwable</code>:
833 Les Mock Objects peuvent être réinitialisés avec <code>reset(mock)</code>.
836 Au besoin, un Mock Object peut aussi être converti d'un type à l'autre en appelant <code>resetToNice(mock)</code>,
837 <code>resetToDefault(mock)</code> ou <code>resetToStrict(mock)</code>.
847 les méthodes <code>andStubReturn(Object value)</code>,
848 <code>andStubThrow(Throwable throwable)</code>, <code>andStubAnswer(IAnswer&lt;t&gt; answer)</code>
849 et <code>asStub()</code>. Le code suivant configure le Mock Object pour répondre 42
850 à <code>voteForRemoval("Document")</code> une fois et -1 pour tous les autres arguments:
860 Pour un Mock Object retourné par <code>createMock()</code>, le comportement par défaut pour toutes
861 les méthodes est de lever une <code>AssertionError</code> pour tous les appels non prévus.
863 toutes les méthodes et retournant la valeur vide appropriée (<code>0</code>, <code>null</code>
864 ou <code>false</code>), utilisez <code>create<i>Nice</i>Mock()</code> au lieu de <code>createMock()</code>.
869 Les comportements des quatre méthodes <code>equals()</code>,
870 <code>hashCode()</code>, <code>toString()</code> et <code>finalize()</code>
877 seul et configuré par les méthodes statiques de la classe <code>EasyMock</code>.
880 Mock Control est un objet implémentant l'interface <code>IMocksControl</code>.
892 nous pourrions utiliser le code équivalent:
902 L'interface <code>IMocksControl</code> permet de créer plus d'un seul Mock Object.
904 Par exemple, configurons deux mock objects pour l'interface <code>IMyInterface</code> pour lesquels
905 nous attendons respectivement les appels à <code>mock1.a()</code> et <code>mock2.a()</code>,
906 un nombre indéfini d'appels à <code>mock1.c()</code> et <code>mock2.c()</code>,
907 et enfin <code>mock2.b()</code> et <code>mock1.b()</code>, dans cet ordre:
934 <code>createMock(String name, Class&lt;T&gt; toMock)</code>,
935 <code>createStrictMock(String name, Class&lt;T&gt; toMock)</code> ou
936 <code>createNiceMock(String name, Class&lt;T&gt; toMock)</code>.
937 Les noms seront affichés dans le message des <code>AssertionError</code>.
953 même <code>IMocksControl</code>) ne peut être enregistré que d'un seul fil. Toutefois, plusieurs Mock Objects peuvent être enregistrés
957 Durant la phase de rejeu, un Mock Object sera à fil sécurisé par défaut. Ceci peut être changé en appelant <code>makeThreadSafe(mock, false)</code>.
961 Finallement, appeler <code>checkIsUsedInOneThread(mock, true)</code> permet de s'assurer qu'un Mock Object ne sera appelé que d'un seul
967 <code>EasyMockSupport</code> est une classe ayant pour but d'être utilisée comme classe utilitaire ou comme classe de base de vos classes
1011 <dt><code>easymock.notThreadSafeByDefault</code></dt>
1013 <dt><code>easymock.enableThreadSafetyCheckByDefault</code></dt>
1015 <dt><code>easymock.disableClassMocking</code></dt>
1022 <li>Dans le fichier <code>easymock.properties</code> mis dans le package défaut du classpath
1026 <li>En appelant <code>EasyMock.setEasyMockProperty</code>. Des constantes sont disponibles
1027 dans la classe <code>EasyMock</code>
1035 sources et non des binaires. Le code devra donc être recompilé.
1039 Depuis EasyMock 2.2, l'interface <code>IAnswer</code>
1045 <code>org.easymock</code>, <code>org.easymock.internal</code>
1046 et <code>org.easymock.internal.matchers</code>. Toutefois, pour importer les deux
1047 derniers, vous spécifier l'attribut <code>poweruser</code> à "true" (<code>poweruser=true</code>).
1071 <p>Seules les méthodes ajoutées avec <code>addMockedMethod(s)</code> seront
1072 "mockées" (<code>mockedMethod()</code> dans l'exemple). Les autres conservent leur
1075 <p><code>createMockBuilder</code> retourne l'interface <code>IMockBuilder</code>. Elle contient
1094 Voir <code>ConstructorCalledMockTest</code> pour un exemple d'utilisation.
1104 <li>L'ancien <code>DefaultClassInstantiator</code> qui fonctionne très bien avec les classes
1106 <li>Votre propre instantiateur. Celui-ci doit implémenter <code>IClassInstantiator</code>.</li>
1109 Vous assignez ce nouvel instantiateur à l'aide de <code>ClassInstantiatorFactory.setInstantiator()</code>.
1110 Vous pouvez remettre celui par défaut avec <code>setDefaultInstantiator()</code>.
1121 que <code>writeObject</code>. Ces méthodes seront toujours appelées lorsque le mock sera sérializé
1132 pour <code>equals()</code>, <code>toString()</code>, <code>hashCode()</code> et <code>finalize()</code> pour les classes mockées.
1139 appelées, leur code normal sera exécuté.
1143 appelées, leur code normal sera exécuté. Pour un mock partiel, si
1150 Les JVMs supportées sont listées <a href="http://code.google.com/p/objenesis/wiki/ListOfCurrentlySupportedVMs">ici</a>.
1199 <li>Ignorer les appels à <code>finalize</code> sur un Mock Object (EASYMOCK-21)
1224 <li>Désactiver le mocking de classes à l'aide de <code>EasyMock.DISABLE_CLASS_MOCKING</code>
1228 <li>Ne pas lancer d'exception si on mock n'a pas de méthode <code>toString</code> (2937916)
1236 <li>Ajout de <code>isNull(Class&lt;T&gt;)</code>, <code>notNull(Class&lt;T&gt;)</code> et <code>anyObject(Class&lt;T&gt;)</code> pour faciliter la gestion des génériques (2958636)