【发布时间】:2017-08-08 10:59:26
【问题描述】:
此测试无效
assertThat(bundle.getMyObj(), equalTo(Optional.absent()));
一开始我只是使用一个普通的对象。 (还没有使用 optional)
private MyObj myObj;
测试将如下所示
assertThat(myBundle.getMyObj(), nullValue());
我把 myObj 改成
private Optional<MyObj> myObj = Optional.absent();
然后我将测试更改为
assertThat(bundle.getTracking(), equalTo(Optional.absent()));
然后我得到一个错误
java.lang.AssertionError:
Expected: <Optional.absent()>
but: was <Optional.of(com.my.package.MyObj@2a9627bc)>
Expected :<Optional.absent()>
Actual :<Optional.of(com.my.package.MyObj@2a9627bc)>
我也在下面尝试了这段代码,但得到了编译错误
assertThat(myBundle.getMyObj(), equalTo(Optional.of(MyObj)));
【问题讨论】:
-
您可以检查是否可选
isEmpty() -
这是最佳做法吗?
-
更冗长更短
标签: java android unit-testing testing guava