पुस्तक ग्रोइंग ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर जेएमॉक में कई उदाहरण देता है जहां राज्य को एपीआई के माध्यम से इसे उजागर किए बिना स्पष्ट किया जाता है। मुझे सचमुच यह विचार पसंद है। क्या मॉकिटो में ऐसा करने का कोई तरीका है?क्या मॉकिटो के पास जेमॉक के राज्यों के बराबर मुहावरे है?
यहाँ पुस्तक
public class SniperLauncherTest {
private final States auctionState = context.states("auction state")
.startsAs("not joined");
@Test public void addsNewSniperToCollectorAndThenJoinsAuction() {
final String itemId = "item 123";
context.checking(new Expectations() {{
allowing(auctionHouse).auctionFor(itemId); will(returnValue(auction));
oneOf(sniperCollector).addSniper(with(sniperForItem(item)));
when(auctionState.is("not joined"));
oneOf(auction).addAuctionEventListener(with(sniperForItem(itemId)));
when(auctionState.is("not joined"));
one(auction).join(); then(auctionState.is("joined"));
}});
launcher.joinAuction(itemId);
}
}
इस तरह अन्य जवाब से क्लीनर है। +1 –
पुस्तक में उपयोग किए जाने वाले जेएमॉक से बहुत बेहतर (जो बहुत अच्छा है, लेकिन इसमें कुछ त्रुटियां हैं)। वे लगातार टेस्ट कोड को समझने में आसान बनाने की आवश्यकता पर बल देते हैं, लेकिन उस दृष्टिकोण से, मेरी नौसिखिया के नजरिए से निर्णय लेते हुए, मॉकिटो बहुत बेहतर लगता है। –
हालांकि, 'स्निपरस्टेट' नाम की दुर्भाग्यपूर्ण पसंद है ... क्योंकि पुस्तक पी पर अपनी 'स्निपरस्टेट' कक्षा पेश करती है। 154 (और यह एक सरल 'enum' नहीं है) ... –