इस सेवा को देखते हुए मैं यह जांचना चाहता हूं कि सामान वस्तु की भूमिका संपत्ति ठीक से सेट है:

public void saveAStuffForAnEvent(Event whatever) {
    if (whatever == null){
        Stuff stuff = StuffBuilder().role(StuffRoles.DEFAULT).build();
        stuffRepository.save(stuff);
    } else {
        Stuff stuff = StuffBuilder().role(StuffRoles.OTHER).build();
        stuffRepository.save(stuff);
    }
}

मैं कैसे परीक्षण कर सकता हूं कि सामान वस्तु डिफ़ॉल्ट भूमिका के साथ ठीक से बनाई गई है?

0
cape 1 जून 2020, 19:43

1 उत्तर

सबसे बढ़िया उत्तर

कैदी का प्रयोग करें।

अपने परीक्षण में @Captor एनोटेशन के साथ फ़ील्ड बनाएं जैसे:

@Mock
private StuffRepository stuffRepository;

@Captor
private ArgumentCaptor<Stuff> stuffCaptor;

उसके बाद परीक्षण में:

// when
subject.saveAStuffForAnEvent(event);
// then
verify(stuffRepository).save(stuffCaptor.capture());
assertThat(stuffCaptor.getValue().getRole()).isEqualTo(StuffRoles.DEFAULT);

या अगर यह एकीकरण परीक्षण है तो:

// when
subject.saveAStuffForAnEvent(event);
//then
assertThat(subject.findAll().get(0).getRole()).isEqualTo(StuffRoles.DEFAULT);
4
Hakan Ozbay 2 जून 2020, 04:52