作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在寻找一个 Hamcrest 匹配器来对返回 java.util.Optional 类型的方法进行单元测试。像这样的东西:
@Test
public void get__Null(){
Optional<Element> element = Element.get(null);
assertThat( sasi , isEmptyOptional());
}
@Test
public void get__GetCode(){
Optional<Element> element = Element.get(MI_CODE);
assertThat( sasi , isOptionalThatMatches(allOf(hasproperty("code", MI_CODE),
hasProperty("id", notNullValue())));
}
Maven Repository 是否有可用的实现?
最佳答案
目前 Java Hamcrest 使用的是 1.6 版本,并与许多使用旧版本 Java 的项目集成。
所以Java 8相关的特性会在未来兼容Java 8的版本中加入。提出的解决方案是有一个扩展库支持它,这样任何需要的人都可以使用扩展库。
我是 Hamcrest Optional 的作者现在可以在 Maven Central 上使用。
示例:检查 Optional 是否包含以某个值开头的字符串
import static com.github.npathai.hamcrestopt.OptionalMatchers.hasValue;
import static org.hamcrest.Matchers.startsWith;
Optional<String> optional = Optional.of("dummy value");
assertThat(optional, hasValue(startsWith("dummy")));
关于java - 是否有用于 java.util.Optional 的 Hamcrest 匹配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703821/
我是一名优秀的程序员,十分优秀!