Articles of unit testing

Où dois-je mettre mes tests JUnit?

J’ai 2 questions sur l’organisation des tests unitaires. Dois-je tester le même package que la classe testée ou puis-je organiser des tests dans des packages différents? Par exemple, si j’ai des tests de validité et autres , est-il correct de les diviser en différents packages, même s’ils sont pour la même classe? Qu’en est-il des […]

Une firebase database différente pour tester Django?

DATABASES = { # ‘default’: { # ‘ENGINE’: ‘postgresql_psycopg2’, # … # } # for unit tests ‘default’: { ‘ENGINE’: ‘django.db.backends.sqlite3’, ‘NAME’: ‘mydatabase’ } } J’ai deux bases de données: une que je voudrais utiliser pour les tests unitaires et une pour tout le rest. Est-il possible de configurer cela dans Django 1.2.4? (La raison […]

Exemple sur l’argument de MockitoCaptor

Quelqu’un peut-il s’il vous plaît me fournir un exemple montrant quelle est l’utilisation de la classe org.mockito.ArgumentCaptor et comment il est différent des simples matchers fournis avec mockito. J’ai lu les documents mockito fournis mais ceux-ci ne l’illustrent pas clairement, ils ne sont pas non plus en mesure de l’expliquer clairement.

simulacre ou stub pour appel en chaîne

protected int parseExpire(CacheContext ctx) throws AtsortingbuteDefineException { Method targetMethod = ctx.getTargetMethod(); CacheEnable cacheEnable = targetMethod.getAnnotation(CacheEnable.class); ExpireExpr cacheExpire = targetMethod.getAnnotation(ExpireExpr.class); // check for duplicate setting if (cacheEnable.expire() != CacheAtsortingbute.DO_NOT_EXPIRE && cacheExpire != null) { throw new AtsortingbuteDefineException(“expire are defined both in @CacheEnable and @ExpireExpr”); } // expire time defined in @CacheEnable or @ExpireExpr return cacheEnable.expire() != […]

Comment puis-je spécifier les dépendances de test JUnit?

Notre boîte à outils compte plus de 15 000 tests JUnit et de nombreux tests sont connus pour échouer si un autre test échoue. Par exemple, si la méthode X.foo () utilise des fonctionnalités de Y.bar () et YTest.testBar () échoue, XTest.testFoo () échouera également. De toute évidence, XTest.testFoo () peut également échouer à cause […]

assertAlmostEqual dans Python unit-test pour les collections de flotteurs

La méthode assertAlmostEqual (x, y) dans la structure de test unitaire de Python teste si x et y sont approximativement égaux en supposant qu’ils soient des flottants. Le problème avec assertAlmostEqual() est qu’il ne fonctionne que sur les flottants. Je cherche une méthode comme assertAlmostEqual() qui fonctionne sur des listes de flotteurs, des ensembles de […]

Framework nez Python: Comment arrêter l’exécution lors de la première défaillance

Il semble que si un test échoue, Nez tentera d’exécuter les prochains tests. Comment puis-je mettre fin à toute exécution dès la première erreur dans un test? J’ai essayé sys.exit () mais cela m’a donné des messages laids et longs à ce sujet

se moquer d’une classe singleton

J’ai récemment lu que créer un singleton de classe rend impossible de se moquer des objects de la classe, ce qui rend difficile le test de ses clients. Je n’ai pas compris immédiatement la raison sous-jacente. Quelqu’un peut-il s’il vous plaît expliquer ce qui rend impossible de se moquer d’une classe de singleton? En outre, […]

Unité testant une classe avec une horloge Java 8

Java 8 a introduit java.time.Clock qui peut être utilisé comme argument pour de nombreux autres objects java.time , vous permettant d’y injecter une horloge réelle ou fausse. Par exemple, je sais que vous pouvez créer un Clock.fixed() , puis appeler Instant.now(clock) et il vous renverra le Instant fixe que vous avez fourni. Cela semble parfait […]

Pouvez-vous append un message personnalisé à AssertJ assertThat?

Nous avons une suite de tests qui utilise principalement les assertions JUnit avec les corrélateurs Hamcrest. Une de nos équipes a commencé à expérimenter avec AssertJ et a impressionné les gens avec sa syntaxe, sa flexibilité et son caractère déclaratif. JUnit fournit une fonctionnalité pour laquelle je ne trouve pas d’équivalent dans AssertJ: l’ajout d’un […]