Maison >Java >javaDidacticiel >Méthode d'implémentation de Junit utilisant Groboutils Core pour les tests simultanés (étapes détaillées)

Méthode d'implémentation de Junit utilisant Groboutils Core pour les tests simultanés (étapes détaillées)

不言
不言avant
2019-03-14 11:08:473261parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer