在临时目录中自动设置ElasticSearch实例,并在测试后将其销毁
testing.elasticsearch的Python项目详细描述
testing.elasticsearch自动在 临时目录,并在测试后将其销毁。作为pytest很有用 测试与ElasticSearch相互作用的夹具。
实现基于可怕的testing.redis模块。
示例用法:
importtesting.elasticsearchimportpyes.esimportES# launch new elasticsearch server:withtesting.elasticsearch.ElasticSearchServer()es:elasticsearch=ES(es.uri())# perform any testing with elasticsearch here# elasticsearch server is terminated and cleaned up here
您可以通过指定配置dict:
withElasticSearchServer(config={'logger.level':'DEBUG',# Keep index in memory'index.store.type':'mmapfs',})ases:...
…或者在启动服务器之前将它们设置在config属性上:
es=ElasticSearchServer()es.config['logger.level']='DEBUG'es.start()
您还可以设置pytest设备:
@pytest.fixture(scope='session')defelasticsearch(request):""" A testing fixture that provides a running elasticsearch server. """es=ElasticSearchServer()es.start()request.addfinalizer(es.stop)returnes
测试
要运行测试,您需要安装测试要求:
pip install -r src/tests/requirements.txt
运行测试:
python src/tests/runtests.py