首页 > 解决方案 > 如何使用嵌套值为 Nest 6.x 构建单元测试预期查询

问题描述

这是另一个帖子的后续问题,我曾问过(并已回答)如何使用 Nest(在 c# 中)为 ElasticSearch 中的特定查询构建单元测试。这是我给出的答案中的代码示例,我在其中为“正常”标签构建了预期的查询:

    var expected = new 
    {
    query = new {
        @bool = new {
            must = new object[] {
                new {
                    @bool = new {
                        should = new object[] {
                            new {
                                match = new {
                                    title = new {
                                        query = "Kibana"
                                    }
                                }
                            },
                            new {
                                match = new {
                                    title = new {
                                        query = "Elasticsearch",
                                        boost = 2d
                                    }
                                }
                            }
                        },
                    }
                },
                new {
                    @bool = new {
                        filter = new [] {
                            new {
                                range = new {
                                    score = new {
                                        gt = 0d
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};

我没有设法将这些标签之一变成嵌套标签。IEfield.title

在我测试过的查询对象JsonProperty中,我使用以下方式创建了这个属性:

[JsonProperty(PropertyName = "field.title")]
public object { get; set; }

但我并没有在我的单元测试中做类似的事情来“模拟”他的创作。任何帮助将不胜感激。

标签: unit-testingelasticsearchnest

解决方案


推荐阅读