簡體   English   中英

Assertj比較提取的字符串數組

[英]Assertj Comparing extracted which are String arrays

以我為例,我需要從兩個不同的系統中請求一組名稱,並驗證它們是否相等(無論順序如何)。 我很可能不了解smth,但是這段代碼可以正常工作:

assertThat(asList(assertThat(firstJSON)
    .flatExtracting("innerObject")
    .extracting("name")).stream().map(Object::toString).collect(Collectors.toList()))
    .containsExactlyElementsOf(
            asList(assertThat(secondJSON)
                    .flatExtracting("innerObject")
                    .extracting("name")).stream().map(Object::toString).collect(Collectors.toList()));

,但看起來確實很難看,我想要這樣的東西:

assertThat(firstJSON)
    .flatExtracting("innerObject")
    .extracting("name")
    .containsExactlyElementsOf(
            assertThat(secondJSON)
                    .flatExtracting("innerObject")
                    .extracting("name"));

我已經嘗試過很多函數,例如isSubsetOf()containsOnly() ,我也嘗試過在isSubsetOf()進行強制轉換,但總是會isSubsetOf()一些異常/錯誤。

我如何比較它們?

在這一點上,我將考慮使用https://github.com/lukas-krecan/JsonUnit代替AssertJ,它提供了不錯的導航功能來斷言JSON數據的各個部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM