Elasticsearch: تحسين تغطية الاختبار لتجميعات الجرافة والمترية

تم إنشاؤها على ٢٠ ديسمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: elastic/elasticsearch

يوجد اليوم تغطية اختبار وحدة قليلة جدًا لتجميعات الجرافة والمترية. تهدف قضية التعريف هذه إلى تحسين ذلك بشكل كبير. لكل تجميع ، يجب أن نضيف المزيد من اختبارات الوحدة للمُجمِّع (كيف يتفاعل مع مؤشر Lucene عبر org.apache.lucene.search.Collector الذي ينفذه كل تجميع) ، وتقليل المنطق والتسلسل لنتائج التجميع.

يجب أن نضيف اختبارات الوحدة لعمليات التنفيذ التالية Aggregator :

  • [x] ParentToChildrenAggregator cbuescher # 23305
  • [x] FilterAggregator @ colings86 # 23826
  • [x] FiltersAggregator jimczi # 22678
  • [x] GeoHashGridAggregator martijnvg # 23417
  • [x] GlobalAggregator @ nik9000 # 22668
  • [x] DateHistogramAggregator tlrx # 22714
  • [x] HistogramAggregator jpountz # 22961
  • [x] MissingAggregator jimczi # 23895
  • [x] NestedAggregator @ فركتال
  • [x] ReverseNestedAggregator cbuescher
  • [x] RangeAggregator (يمكنك أيضًا الاختبار باستخدام DateRangeAggregationBuilder و GeoDistanceAggregationBuilder ) tlrx # 24569
  • [x] BinaryRangeAggregator (يمكنك أيضًا الاختبار باستخدام IpRangeAggregationBuilder ) jimczi # 23255
  • [x] مُجمِّع عينات متنوع ، يحتوي على التطبيقات التالية التي يجب اختبارها: DiversifiedBytesHashSamplerAggregator ، DiversifiedMapSamplerAggregator ، DiversifiedNumericSamplerAggregator و DiversifiedOrdinalsSamplerAggregator . martijnvg #
  • [x] SamplerAggregator @ nik9000 #
  • [x] تجميع المصطلحات الهامة: GlobalOrdinalsSignificantTermsAggregator ، GlobalOrdinalsSignificantTermsAggregator.WithHash ، SignificantLongTermsAggregator و SignificantStringTermsAggregator . markharwood # 24904
  • [x] تجميع المصطلحات: DoubleTermsAggregator ، GlobalOrdinalsStringTermsAggregator. LowCardinality ، GlobalOrdinalsStringTermsAggregator. WithHash ، LongTermsAggregator و StringTermsAggregator . martijnvg # 24949
  • [x] BestBucketsDeferringCollector MaineC #
  • [x] BestDocsDeferringCollector polyfractal #
  • [x] AvgAggregator cbuescher # 23000
  • [x] CardinalityAggregator @ colings86 # 23826
  • [x] GeoBoundsAggregator jimczi # 23259
  • [x] GeoCentroidAggregator martijnvg # 24111
  • [x] MaxAggregator @ nik9000 # 22668
  • [x] MinAggregator [ MvG ] #
  • [x] تجميع المقاييس المئوية: TDigestPercentilesAggregator و HDRPercentilesAggregator tlrx # 24245
  • [x] ترتيب النسب المئوية تجميع المقاييس: TDigestPercentileRanksAggregator و HDRPercentileRanksAggregator . jpountz #
  • [x] ScriptedMetricAggregator cbuescher # 23404
  • [x] StatsAggregator @ jimczi
  • [x] ExtendedStatsAggregator @ jimczi
  • [x] SumAggregator martijnvg # 22954
  • [x] TopHitsAggregator @ nik9000 # 22754
  • [x] ValueCountAggregator tlrx #
  • [x] MatrixStatsAggregator martijnvg # 24837

يجب أن نضيف أيضًا اختبارات لعمليات التنفيذ التالية InternalAggregation :
(لاختبار منطق التسلسل والنتيجة)

  • [x] InternalChildren cbuescher # 23261
  • [x] InternalFilter @ colings86 # 23388
  • [x] InternalFilters jimczi # 22678
  • [x] InternalGeoHashGrid martijnvg # 23417
  • [x] InternalGlobal @ nik9000 # 23388
  • [x] InternalHistogram jpountz # 22961
  • [x] InternalDateHistogram tlrx # 23402
  • [x] InternalMissing MaineC # 23388
  • [x] InternalNested polyfractal # 23388
  • [x] InternalReverseNested cbuescher # 23388
  • [x] InternalRange ، InternalDateRange ، InternalGeoDistance . tlrx # 24569
  • [x] InternalBinaryRange jimczi # 23259
  • [x] InternalSampler martijnvg edada2581e75400da9fac82bdfbc7ec1f02ef0d8
  • [x] تجميع المصطلحات الهامة: SignificantLongTerms و SignificantStringTerms . tlrx # 23428
  • [x] تجميع المصطلحات: DoubleTerms و LongTerms و StringTerms و UnmappedTerms . jpountz # 23149
  • [x] InternalAvg cbuescher # 23000
  • [x] InternalCardinality @ colings86 # 23826
  • [x] InternalGeoBounds jimczi # 23259
  • [x] InternalGeoCentroid martijnvg #
  • [x] InternalMax @ nik9000 # 22668
  • [x] InternalMin @ colings86 + @ nik9000 # 22668
  • [x] تجميع المقاييس المئوية: InternalTDigestPercentiles (# 24090) و InternalHDRPercentiles (# 24157)tlrx
  • [x] ترتيب النسب المئوية تجميع المقاييس: InternalTDigestPercentileRanks و InternalHDRPercentileRanks . jpountz #
  • [x] InternalScriptedMetric cbuescher # 23330
  • [x] InternalStats @ jimczi
  • [x] InternalExtendedStats @ jimczi
  • [x] InternalSum martijnvg # 22954
  • [x] InternalTopHits @ nik9000
  • [x] InternalValueCount tlrx #
  • [x] InternalMatrixStats martijnvg # 24559

ربما نسيت بعض الفصول الدراسية ، لذا يرجى تحديث هذه المشكلة إذا كان هذا هو الحال :)

أدرجت تطبيقات InternalAggregation بشكل منفصل عن تطبيقات Aggregator حيث يمكن كتابة اختبارات الوحدة لكل منها بالتوازي بواسطة مطورين مختلفين. ومع ذلك ، أعتقد أنه يمكن إضافة اختبارات وحدة التجميع الأقل تعقيدًا لكل من تنفيذ InternalAggregation وتطبيقات Aggregator في نفس العلاقات العامة.

أعتقد أنه يجب إضافة اختبارات الوحدة على الأقل إلى الفرع الرئيسي. يعد Backporting إلى فرع 5.x هو أفضل جهد ويجب ألا يؤخذ في الاعتبار إلا إذا كان فاكهة معلقة منخفضة.

أقترح أن نعمل بالطريقة التالية لتجنب القيام بالعمل مرتين:

  • أضف اسمك المهمة التي ترغب في العمل عليها قبل البدء في كتابة اختبارات الوحدة.
  • عند فتح العلاقات العامة ، قم بإضافة رقم العلاقات العامة إلى المهمة.
  • بمجرد دمج العلاقات العامة ، قم بإلغاء تحديد المهمة.

لاحظ أنه يتم اختبار التجميعات ، ولكن نظرًا لكيفية هيكلة الكود ، كان اختبار الوحدة صعبًا حقًا.

:AnalyticAggregations >test Meta

التعليق الأكثر فائدة

تم الآن إكمال جميع المهام لهذه التذكرة

ال 3 كومينتر

هل يمانع أي شخص إذا عملت على شيء ما لجميع الفئات الفرعية أو InternalSingleBucketAggregation ؟ سأكون قادرًا على النقر فوق الكثير من مربعات الاختيار .....

هل يمانع أي شخص إذا عملت على شيء ما لجميع الفئات الفرعية أو InternalSingleBucketAggregation؟ سأكون قادرًا على النقر فوق الكثير من مربعات الاختيار .....

انا اندمجت # 23388.

تم الآن إكمال جميع المهام لهذه التذكرة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات