최신 테스트 환경에서 병렬 테스트 실행은 테스트 프로세스의 효율성과 속도를 크게 향상시킬 수 있습니다. 인기 있는 행동 중심 개발(BDD) 프레임워크인 Cucumber는 기능 파일의 병렬 실행을 허용합니다.
Cucumber에서 병렬 실행을 달성하려면 Cucumber- jvm-병렬-플러그인. 이 플러그인은 병렬로 실행될 수 있는 테스트 실행기 클래스를 동적으로 생성합니다.
<code class="xml"><dependency> <groupId>com.github.temyers</groupId> <artifactId>cucumber-jvm-parallel-plugin</artifactId> <version>2.1.0</version> </dependency></code>
<code class="xml"><plugin> <groupId>com.github.temyers</groupId> <artifactId>cucumber-jvm-parallel-plugin</artifactId> <version>2.1.0</version> <executions> <execution> <id>generateRunners</id> <phase>generate-test-sources</phase> <goals> <goal>generateRunners</goal> </goals> <configuration> <glue>foo, bar</glue> <outputDirectory>${project.build.directory}/generated-test-sources/cucumber</outputDirectory> <featuresDirectory>src/test/resources/features/</featuresDirectory> <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir> <format>json</format> </configuration> </execution> </executions> </plugin></code>
생성된 러너 클래스를 병렬로 호출하려면 Maven Surefire 플러그인을 추가하세요.
<code class="xml"><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19</version> <configuration> <forkCount>5</forkCount> <reuseForks>true</reuseForks> <includes> <include>**/*IT.class</include> </includes> </configuration> </plugin></code>
테스트를 병렬로 실행하기 위해 WebDriver 인스턴스는 테스트 내에서 공유되어야 하며 명시적으로 종료되어서는 안 됩니다. SharedDriver 클래스는 다음을 달성합니다.
<code class="java">public class SharedDriver extends EventFiringWebDriver { private static WebDriver REAL_DRIVER = null; static { Runtime.getRuntime().addShutdownHook(CLOSE_THREAD); } public SharedDriver() { super(CreateDriver()); } public static WebDriver CreateDriver() { WebDriver webDriver; if (REAL_DRIVER == null) webDriver = new FirefoxDriver(); setWebDriver(webDriver); return webDriver; } }</code>
위 내용은 BDD 테스트 속도를 높이기 위해 Cucumber를 병렬 실행과 함께 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!