此测试工作不最佳实践来验证可选使用hamcrest
assertThat(bundle.getMyObj(), equalTo(Optional.absent()));
在开始的时候我只是用一种共同的目标。 (没有使用可选<>尚)
private MyObj myObj;
测试将这个样子
assertThat(myBundle.getMyObj(), nullValue());
的我改变MyObj中以
private Optional<MyObj> myObj = Optional.absent();
然后,我改变了我的测试,以
assertThat(bundle.getTracking(), equalTo(Optional.absent()));
然后我得到了一个e RROR
java.lang.AssertionError:
Expected: <Optional.absent()>
but: was <Optional.of([email protected])>
Expected :<Optional.absent()>
Actual :<Optional.of([email protected])>
我也试试下面这段代码,但得到编译错误
assertThat(myBundle.getMyObj(), equalTo(Optional.of(MyObj)));
您可以检查是否备选'的isEmpty()'或不 – ByeBye
是最好的做法? – UmAnusorn
这是更详细和更短 – ByeBye