Heim  >  Artikel  >  Java  >  Implementierungsmethode von Junit mit Groboutils Core für gleichzeitige Tests (detaillierte Schritte)

Implementierungsmethode von Junit mit Groboutils Core für gleichzeitige Tests (detaillierte Schritte)

不言
不言nach vorne
2019-03-14 11:08:473203Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Analyse der MVC-Architektur im PHP-Framework (mit Beispielen). Ich hoffe, dass er für Sie hilfreich ist.

Junit kann keine gleichzeitigen Tests durchführen, aber was soll ich tun, wenn es Szenarien gibt, die gleichzeitige Tests erfordern? Derzeit können Sie ein Plug-In (Groboutils Core) verwenden, um diese Funktion abzuschließen.
Maven-Lageradresse: Klicken Sie hier, um direkt zu gelangen

Implementierung

Schritt eins: Abhängigkeiten zur pom.xml des Projekts hinzufügen

<!-- 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>

Kapitel Schritt 2: Code im Einzeltest schreiben

@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();
    }
  }

Das obige ist der detaillierte Inhalt vonImplementierungsmethode von Junit mit Groboutils Core für gleichzeitige Tests (detaillierte Schritte). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen