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!