zumba/elasticsearchunit
最新稳定版本:v2.0.0
Composer 安装命令:
composer require --dev zumba/elasticsearchunit
包简介
PHPUnit extension that supports ElasticSearch Client
README 文档
README
ElasticSearchUnit is a PHPUnit extension for test cases that utilize the official ElasticSearch Client as their data source.
Requirements
- PHP 5.4+
- ElasticSearch 1.7+
Testing
- Install dependencies
composer install -dev - Run
./bin/phpunit
Example use
<?php class MyElasticSearchTestCase extends \PHPUnit_Framework_TestCase { use \Zumba\PHPUnit\Extensions\ElasticSearch\TestTrait; /** * Get the ElasticSearch connection for this test. * * @return Zumba\PHPUnit\Extensions\ElasticSearch\Client\Connector */ public function getElasticSearchConnector() { if (empty($this->connection)) { $clientBuilder = new \Elasticsearch\ClientBuilder(); $this->connection = new \Zumba\PHPUnit\Extensions\ElasticSearch\Client\Connector($clientBuilder->build()); } return $this->connection; } /** * Get the dataset to be used for this test. * * @return Zumba\PHPUnit\Extensions\ElasticSearch\DataSet\DataSet */ public function getElasticSearchDataSet() { $dataset = new \Zumba\PHPUnit\Extensions\ElasticSearch\DataSet\DataSet($this->getElasticSearchConnector()); $dataset->setFixture([ 'some_index' => [ 'some_type' => [ ['name' => 'Document 1'], ['name' => 'Document 2'] ] ] ]); return $dataset; } public function testRead() { $result = $this->getElasticSearchConnector()->getConnection()->search(['index' => 'some_index']); $this->assertEquals(2, $result['hits']['total']); } }
Testing with Docker/VM etc
If Elasticsearch is not running on localhost, you can provide the hostname of your Elasticsearch instance via environment variables:
ES_TEST_HOST=http://docker:9200 ./bin/phpunit
Elasticsearch Version Support
For Elasticsearch 5.x and greater, use version 2.x.
For Elasticsearch 2.x/1.x, use the version 1.x.
Note about PHPUnit Versions
It currently is supporting PHPUnit 4 @before and @after but can be used in PHPUnit ~3.7 by either aliasing the elasticSearchSetUp and elasticSearchTearDown to setUp and tearDown, or by calling elasticSearchSetUp and elasticSearchTearDown in your respective methods.
统计信息
- 总下载量: 46.22k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-05-13