此測試工作不最佳實踐來驗證可選使用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