以下是一个示例:
assertThat(commentById.getId()).isNotNull();
assertThat(commentById.getContent()).isNotBlank();
assertThat(commentById.getAuthor()).isNotNull();
assertThat(commentById.getAuthor().getUsername()).isNotBlank();
assertThat(commentById.getAuthor().getAvatar()).isNotBlank();
assertThat(commentById.getAuthor().getId()).isNotNull();
是否可以将此链接到一个单独的assertThat语句中
对不起,问题不清楚。我的意思是,是否有一些fluent方法调用将多个assertThat语句链接在一起。下面是我能想到的一个例子:
assertThat(commentById)
.isNotNull()
.and(Comment::getID).isNotNull()
.and(Comment::getContent).isNotBlank()
.and(Comment::getAuthor).is(author->{
author.isNotNull()
.and(User::getID).isNotNull()
.and(User::getAvatar).isNotBlank()
.and(User::getUsername).isNotBlank()
});
您可以使用满足方法:
assertThat(commentById.getId()).isNotNull();
assertThat(commentById.getContent()).isNotBlank();
assertThat(commentById.getAuthor()).isNotNull().satisfies(author -> {
assertThat(author.getUsername()).isNotBlank();
assertThat(author.getAvatar()).isNotBlank();
assertThat(author.getId()).isNotNull();
});
这有助于在测试嵌套结构时消除代码的重复部分。
如果希望通过“一行程序”测试对象本身,理论上可以对其应用相同的方法(assertThat(commentById))。满足(c-
目前这是不可能的,可能的是使用提取
,但这意味着从当前实际导航到提取的实际,而无法返回到原始实际。
从上面(两个块),如果我尝试以下(一个块): 它失败了。只是好奇是否有可能应用一个块。
问题内容: 我想知道是否有任何意识形态的方法将多个InputStream链接到Java(或Scala)的一个连续InputStream中。 我需要的是解析从FTP服务器通过网络加载的平面文件。我要做的是获取文件[1..N],打开流,然后将它们组合为一个流。因此,当file1结束时,我想从file2开始读取,依此类推,直到到达fileN的末尾。 我需要按特定顺序读取这些文件,数据来自遗留系统,该系统
这是我的一个货车租赁数据库的起始代码。 如何将汽车链接到该位置。例如,CBD的位置有Wicked,Zepplin和Floyd,Penrith有Queen。因此,如果命令行参数具有“打印CBD”,那么它必须显示CBD中可用的货车。 任何帮助将不胜感激。
问题内容: 我正在学习加入班级的课程,但是我没有完全掌握其中的一些概念。有人可以解释具有多个联接的语句如何工作吗? 我相信我知道BOOKS表是连接BOOKS和ORDERITEMS的第一个外部联接中的左表。即使没有书的ORDERITEM,也会显示所有的BOOKS。第一次加入后,我不确定真正发生了什么。 当ORDERS加入时,哪个是左表,哪个是右表?客户也一样。这是我迷路的地方。 问题答案: 执行者将
问题内容: 我有一个与第三方供应商VENDOR1的库X版本libfoo静态链接的应用程序。它还与来自第三方供应商VENDOR2的动态(共享)库libbar链接,该库静态链接了VENDOR1的libfoo版本Y。 因此libbar.so包含libfoo.a的Y版本,而我的可执行文件包含libfoo.x的X版本。libbar仅在内部使用libfoo,并且没有从我的应用程序传递到libbar的libfo
问题内容: 我有两个完成。我想做以下情形:如果第一个Completable到达onComplete,则继续第二个Completable。最终结果将是第二完成的onComplete。 当我有单个 getUserIdAlreadySavedInDevice() 和Completable login() 时,这就是我的方法: 问题答案: 您正在寻找运营商。 返回一个Completable,它首先运行此C