Saat ini hanya ada sedikit cakupan pengujian unit untuk agregasi bucket dan metrik. Tujuan masalah meta ini adalah untuk meningkatkannya secara signifikan. Untuk setiap agregasi, kita harus menambahkan lebih banyak pengujian unit untuk aggregator (bagaimana ia berinteraksi dengan indeks Lucene melalui org.apache.lucene.search.Collector
yang diimplementasikan oleh setiap agregasi), logika reduksi dan serialisasi hasil agregasi.
Kita harus menambahkan pengujian unit untuk implementasi Aggregator
:
ParentToChildrenAggregator
@cbuescher #23305FilterAggregator
@colings86 #23826FiltersAggregator
@jimczi #22678GeoHashGridAggregator
@martijnvg #23417GlobalAggregator
@nik9000 #22668DateHistogramAggregator
@tlrx #22714HistogramAggregator
@jpountz #22961MissingAggregator
@jimczi #23895NestedAggregator
@polyfractalReverseNestedAggregator
@cbuescherRangeAggregator
(juga uji dengan DateRangeAggregationBuilder
dan GeoDistanceAggregationBuilder
) @tlrx #24569BinaryRangeAggregator
(juga uji dengan IpRangeAggregationBuilder
) @jimczi #23255DiversifiedBytesHashSamplerAggregator
, DiversifiedMapSamplerAggregator
, DiversifiedNumericSamplerAggregator
dan DiversifiedOrdinalsSamplerAggregator
. @martijnvg # 23511SamplerAggregator
@nik9000 #23243GlobalOrdinalsSignificantTermsAggregator
, GlobalOrdinalsSignificantTermsAggregator.WithHash
, SignificantLongTermsAggregator
dan SignificantStringTermsAggregator
. @markharwood #24904DoubleTermsAggregator
, GlobalOrdinalsStringTermsAggregator. LowCardinality
, GlobalOrdinalsStringTermsAggregator. WithHash
, LongTermsAggregator
dan StringTermsAggregator
. @martijnvg # 24.949BestBucketsDeferringCollector
@MaineC #23511BestDocsDeferringCollector
@polyfractal #23511AvgAggregator
@cbuescher #23000CardinalityAggregator
@colings86 #23826GeoBoundsAggregator
@jimczi #23259GeoCentroidAggregator
@martijnvg # 24.111MaxAggregator
@nik9000 #22668MinAggregator
[ MvG ] #22279TDigestPercentilesAggregator
dan HDRPercentilesAggregator
@tlrx #24245TDigestPercentileRanksAggregator
dan HDRPercentileRanksAggregator
. @jpountz #23240ScriptedMetricAggregator
@cbuescher #23404StatsAggregator
@jimcziExtendedStatsAggregator
@jimcziSumAggregator
@martijnvg # 22.954TopHitsAggregator
@nik9000 #22754ValueCountAggregator
@tlrx #22741MatrixStatsAggregator
@martijnvg # 24837Kita juga harus menambahkan tes untuk implementasi InternalAggregation
:
(untuk menguji logika serialisasi pengurangan dan hasil)
InternalChildren
@cbuescher #23261InternalFilter
@colings86 #23388InternalFilters
@jimczi #22678InternalGeoHashGrid
@martijnvg #23417InternalGlobal
@nik9000 #23388InternalHistogram
@jpountz #22961InternalDateHistogram
@tlrx #23402InternalMissing
@MaineC #23388InternalNested
@polyfractal #23388InternalReverseNested
@cbuescher #23388InternalRange
, InternalDateRange
, InternalGeoDistance
. @tlrx #24569InternalBinaryRange
@jimczi #23259InternalSampler
@martijnvg edada2581e75400da9fac82bdfbc7ec1f02ef0d8SignificantLongTerms
dan SignificantStringTerms
. @tlrx #23428DoubleTerms
, LongTerms
, StringTerms
dan UnmappedTerms
. @jpountz #23149InternalAvg
@cbuescher #23000InternalCardinality
@colings86 #23826InternalGeoBounds
@jimczi #23259InternalGeoCentroid
@martijnvg # 24.176InternalMax
@nik9000 #22668InternalMin
@colings86 + @nik9000 #22668InternalTDigestPercentiles
(#24090) dan InternalHDRPercentiles
(#24157) @tlrxInternalTDigestPercentileRanks
dan InternalHDRPercentileRanks
. @jpountz #23240InternalScriptedMetric
@cbuescher #23330InternalStats
@jimcziInternalExtendedStats
@jimcziInternalSum
@martijnvg # 22.954InternalTopHits
@nik9000InternalValueCount
@tlrx #22741InternalMatrixStats
@martijnvg #24559Saya mungkin lupa beberapa kelas, jadi perbarui masalah ini jika itu masalahnya :)
Saya mendaftarkan implementasi InternalAggregation
secara terpisah dari implementasi Aggregator
karena pengujian unit untuk masing-masing dapat ditulis secara paralel oleh pengembang yang berbeda. Namun saya pikir untuk pengujian unit agregasi yang kurang kompleks untuk implementasi InternalAggregation
dan implementasi Aggregator
dapat ditambahkan dalam PR yang sama.
Saya pikir setidaknya tes unit harus ditambahkan ke cabang master. Backporting ke cabang 5.x adalah upaya terbaik dan hanya boleh dipertimbangkan jika itu adalah buah yang menggantung rendah.
Saya menyarankan agar kita bekerja dengan cara berikut agar tidak sengaja melakukan pekerjaan dua kali:
Perhatikan bahwa agregasi diuji, namun karena bagaimana sebelum kode disusun, pengujian unit sangat sulit.
Adakah yang keberatan jika saya mengerjakan sesuatu untuk semua subclass atau InternalSingleBucketAggregation
? Saya akan dapat mengklik banyak kotak centang .....
Adakah yang keberatan jika saya mengerjakan sesuatu untuk semua subclass atau InternalSingleBucketAggregation? Saya akan dapat mengklik banyak kotak centang .....
Saya menggabungkan #23388.
Semua tugas untuk tiket ini sekarang telah selesai
Komentar yang paling membantu
Semua tugas untuk tiket ini sekarang telah selesai