es testing utils
1.0.0
단위 테스트는 실행 중인 클러스터에 의존해서는 안 되며 대신 모의해야 합니다. 더 구체적으로 말하면 클라이언트 응답을 조롱해야 합니다. Elastic Search 테스트 유틸리티를 사용하면 Elasticsearch 응답을 매우 쉽게 모의할 수 있습니다.
작곡가를 사용할 수 있습니다
composer require --dev imdhemy/es-testing-utils
엘라스틱서치 | Es 테스트 유틸리티 |
---|---|
7.x | 7.x |
8.x | 8.x |
Es 테스트 유틸리티는 유창한 Elasticsearch 모의 빌더를 제공하며 다음과 같이 사용할 수 있습니다.
ImdhemyEsUtilsEsMocker 사용;// 모의 응답을 반환하는 ES 클라이언트 생성 $client = EsMocker::mock(['tagline' => '검색용입니다.'])->build();
또는 일련의 응답을 모의할 수 있습니다.
ImdhemyEsUtilsEsMocker를 사용하세요.// 생성된 클라이언트는 첫 번째 요청에서는 `$info` 응답을 반환하고// 두 번째 요청에서는 `$search` 응답을 반환합니다.// 참고: `thenFail()` 메서드 요청 예외를 조롱합니다.$client = EsMocker::mock($info)->then($index)->then($search)->thenFail($error)->build();// 또는 첫 번째 요청을 직접 실패할 수도 있습니다:$client = EsMocker ::실패($message)->build();
다음은 테스트에서 EsMocker를 사용하는 방법에 대한 전체 예입니다.
ImdhemyEsUtilsEsMocker;$expected=['tagline' => '검색용입니다.'];$client = EsMocker::mock($expected)->build();$response = $client->info(); $body = (문자열) $response->getBody();$this->assertEquals(json_encode($expected), $body);
faker 클래스는 테스트를 위한 무작위 데이터를 생성하는 메서드 세트를 제공합니다. Elasticsearch 데이터를 생성하는 새로운 방법과 함께 Faker 라이브러리의 모든 방법을 제공합니다. Elasticsearch와 관련된 모든 메소드는 es
접두사로 시작됩니다.
ImdhemyEsUtilsFaker 사용;$faker = Faker::create();$index = $faker->esIndexName(); // 임의의 인덱스 이름을 반환합니다. $createIndex = $faker->esCreateIndex(); // 인덱스 응답 본문 생성을 반환합니다. // Faker 클래스를 탐색하여 사용 가능한 모든 메서드를 확인합니다.
모하마드 엘데미
모든 기여자
ES 테스트 유틸리티는 MIT 라이센스에 따라 라이센스가 부여된 오픈 소스 소프트웨어입니다.