AssertJ中的filteredOn在assertk中有什么等价物?
创始人
2024-09-20 16:00:43
0

assertk 提供了枚举类 KFunction,可以使用该类的属性来获取对象列表中指定字段的属性值并进行断言。举个例子,假设现在有一个 Book 类,包含 title 和 author 两个属性,我们要对 title 进行断言。

在 AssertJ 中,可以使用 filteredOn 方法:

List books = Arrays.asList(
    new Book("The Lord of the Rings", "J. R. R. Tolkien"),
    new Book("The Hobbit", "J. R. R. Tolkien"),
    new Book("Harry Potter and the Philosopher's Stone", "J. K. Rowling")
);

assertThat(books).filteredOn(book -> book.getAuthor().equals("J. R. R. Tolkien"))
                  .extracting(Book::getTitle).containsOnly("The Lord of the Rings", "The Hobbit");

在 assertk 中,可以使用枚举类 KFunction:

val books = listOf(
    Book("The Lord of the Rings", "J. R. R. Tolkien"),
    Book("The Hobbit", "J. R. R. Tolkien"),
    Book("Harry Potter and the Philosopher's Stone", "J. K. Rowling")
)

assertThat(books).hasSize(3)
                 .extracting { it[KFunction(Book::author)] } // 获取 Book 列表中 author 属性的值
                 .containsOnly("J. R. R. Tolkien", "J. R. R. Tolkien", "J. K. Rowling")

在上面的例子中,我们可以使用 KFunction(Book::author) 获取 Book 类中 author 属性的属性值,并确保它们都被包含在返回的列表中。

相关内容

热门资讯

黑科技神器(德州微扑克辅助)外... 黑科技神器(德州微扑克辅助)外挂黑科技辅助下载(透视)都是是真的有挂(黑科技技巧)1、很好的工具软件...
aapoker有外挂吗!aap... aapoker有外挂吗!aapoker透明挂辅助器,(AAPOKEr)一直有挂,大神讲解(黑科技助手...
德州ai机器人!德州ai人工智... 德州ai机器人!德州ai人工智能,(德州)原来存在有挂,必备教程(黑科技科技)1、不需要AI权限,帮...
黑科技ai代打(aapoker... 黑科技ai代打(aapoker辅助软件)外挂黑科技辅助软件(透视)果然是有挂(黑科技规律);一、aa...
微扑克如何让系统发好牌!微扑克... 微扑克如何让系统发好牌!微扑克的辅助工具苹果,(微扑克)其实有挂,2025教程(黑科技方法)1、首先...
黑科技玄学(wpkai辅助)外... 黑科技玄学(wpkai辅助)外挂透视辅助教程(透视)总是有挂(黑科技工具)1、每一步都需要思考,不同...
aapoker透明挂下载!aa... aapoker透明挂下载!aapoker辅助器是真的吗,(AAPOKEr)好像真的是有挂,第三方教程...
黑科技辅助挂(WePoKe透视... 黑科技辅助挂(WePoKe透视挂)外挂透视辅助技巧(透视)总是真的是有挂(黑科技细节)1、黑科技辅助...
wepoke辅助插件好用吗!w... wepoke辅助插件好用吗!wepoke德州扑克安卓下载,(we辅助poker)一直是有挂,安装教程...
黑科技辅助挂(aapoker外... 黑科技辅助挂(aapoker外挂实测)外挂透明挂辅助方法(透视)一直真的是有挂(黑科技规律)1、构建...