java - AssertJ - 检查类后继续流畅的断言

标签 java fluent assertj

假设我有一个Map<String, Action>我是这样的:

    assertThat( spyActionMap.get( "a" ) ).isInstanceOf( Action.class );

...通过。现在我想检查Action得到的是正确的:

    assertThat( spyActionMap.get( "a" ) ).isInstanceOf( Action.class ).getValue( Action.NAME ).isEqualTo( "Go crazy" );

...无法编译,这并不奇怪。有什么办法可以做到这种事情吗?

最佳答案

您可以尝试isInstanceOfSatisfying并在 Consumer 中指定您的断言:

Object yoda = new Jedi("Yoda", "Green");
Object luke = new Jedi("Luke Skywalker", "Green");

Consumer<Jedi> jediRequirements = jedi -> {
   assertThat(jedi.getLightSaberColor()).isEqualTo("Green");
   assertThat(jedi.getName()).doesNotContain("Dark");
};

assertThat(yoda).isInstanceOfSatisfying(Jedi.class, jediRequirements);
assertThat(luke).isInstanceOfSatisfying(Jedi.class, jediRequirements);

关于java - AssertJ - 检查类后继续流畅的断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42704987/

相关文章:

asp.net-mvc - 代码优先与 Entity Framework 的关系,流畅的 API

java - Selenium 优化 getVisibleElement(当元素不存在时)

java - AssertJ:断言列表是否按倒序或降序排序

java - 验证断言是否已在 Assertj 中调用

java - 如何使用系统属性设置Maven POM文件以在Java中输入参数?

java - Appium 1.6,iOS 10 : Swipe left on a specific element

java - Hadoop Hbase访问被拒绝异常

java - ListUtils.intersection 中结果列表的顺序

c# - Fluent NHibernate 生成和分配的 ID 列

java - 在java测试中强制执行assertj