Maison >Java >javaDidacticiel >Méthode d'implémentation de Junit utilisant Groboutils Core pour les tests simultanés (étapes détaillées)
Le contenu de cet article concerne l'analyse de l'architecture MVC dans le framework PHP (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Junit ne peut pas effectuer de tests simultanés, mais que dois-je faire s'il existe des scénarios qui nécessitent des tests simultanés ? A ce moment, vous pouvez utiliser un plug-in (Groboutils Core) pour compléter cette fonction.
Adresse de l'entrepôt maven : Cliquez ici pour y accéder
Implémentation
Première étape : Ajouter des dépendances au pom.xml du projet
<!-- https://mvnrepository.com/artifact/net.sourceforge.groboutils/groboutils-core --> <dependency> <groupId>net.sourceforge.groboutils</groupId> <artifactId>groboutils-core</artifactId> <version>5</version> <scope>test</scope> </dependency>
Étape 2 : Écrire le code en un seul test
@Test public void testConcurrentInitOrBind() { // mock一个返回 doReturn(Lists.newArrayList(userMemberCard)).when(operateCardDao) .queryCardByRegisterMobileAndTenantId(anyString(), anyLong()); TestRunnable runner = new TestRunnable() { // 在runTest方法中填写自己的测试方法 @Override public void runTest() throws Throwable { InitCardResVo resVoFirst = operateCardService.initOrBindCard(requestVo); System.out.println("result resVoFirst is:" + resVoFirst.toString()); } }; // 一个数组,代表并发个数。此处并发5个 TestRunnable[] trs = new TestRunnable[5]; for (int i = 0; i < 5; i++) { trs[i] = runner; } MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs); try { mttr.runTestRunnables(); } catch (Throwable ex) { ex.printStackTrace(); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!