, før jeg går i detaljer med det easymock ramme, lad os se en ansøgning i aktion.i dette eksempel, vi har skabt en kopi af materiel tjeneste for at få de dumme pris af visse bestande, og enhed, der afprøves, en java - klasse, der hedder portefølje. processen er behandlet nedenfor i en trinvis måde.,, trin 1: skabe en java klasse til at repræsentere den bestand,,,,,,, fil: lager -, offentlig klasse materiel (private snor stockid; private snor navn; private int mængde offentlige lagre (string stockid, snor navn int mængde) (this.stockid = stockid; this.name = navn; this.quantity = mængde} offentlige snor getstockid() {tilbage stockid;} offentlige tomrum setstockid (string - stockid) (this.stockid = stockid;} offentlige int getquantity() {tilbage mængde} offentlige snor getticker(i) (tilbagevenden navn;), trin 2: skabe en grænseflade stockservice at få prisen for en bestand,,,,, fil: stockservice -, offentlig grænseflade stockservice {offentlige dobbelt getprice (materiel, materiel);}, trin 3: skabe en klasse portefølje til at repræsentere den portefølje af en klient,,,, fil: portefølje -, import java.util.list; offentlige klasse portefølje (private stockservice stockservice; private liste, lagre, offentlige stockservice getstockservice() {tilbage stockservice;} offentlige tomrum setstockservice (stockservice stockservice) (this.stockservice = stockservice;} offentlig liste, getstocks() {tilbage lagre;} offentlige tomrum setstocks (liste over bestande) (this.stocks = lagre;} public - getmarketvalue() (dobbelt marketvalue = 0, 0; (materiel materiel: beholdninger) (marketvalue + = stockservice. getprice (materiel) *). getquantity();} tilbage marketvalue;}}, trin 4: test porteføljen klasse, lad os prøve porteføljen klasse, ved injektion i det grin af stockservice.nar vil blive skabt af easymock.,, fil: portfoliotester -, import java.util.arraylist; import java.util.list; import org.easymock.easymock; offentlige klasse portfoliotester {portefølje portefølje stockservice stockservice; offentlige statisk tomrum vigtigste (string [] args) (portfoliotester tester = nye portfoliotester(); - tester. setup(); system. println (tester. testmarketvalue()? "pass ":" ikke ");} offentlige tomrum setup() (//skabe en portefølje objekt, der skal testes portefølje = nye portfolio(); //skabe mock - genstand for materiel, service stockservice = easymock. createmock (stockservice. klasse); //den stockservice porteføljen portefølje. setstockservice (stockservice);} offentlige boolean testmarketvalue() (//skaber en liste over bestande, der skal lægges til den porteføljeliste < aktier > lagre = nye arraylist < aktier > c); aktier googlestock = ny bestand (" 1 "," google "10) materiel, microsoftstock = ny bestand (" 2 "," microsoft ", 100); bestande. tilføje (googlestock) lagre. der tilsættes (microsoftstock); //add lagre til po -rtfolio portefølje. setstocks (beholdninger); //håne opførsel af materiel tjeneste tilbage værdien af de forskellige bestande easymock. forventer (stockservice. getprice (googlestock). og vende tilbage med (50.00); easymock. forventer (stockservice. getprice (microsoftstock). og vende tilbage med (1 000,00); //aktivere håne easymock. gengivelse (stockservice); dobbelt marketvalue = portefølje. getmarketvalue(); tilbage marketvalue = = 100500.0;}}, løntrin 5: kontrollere resultatet, udarbejder klasser med, javac, compiler som følger: c:. easymock_workspace> javac stock.java stockservice.java portfolio.java portfoliotester.java, nu kører det portfoliotester se resultatet: c: \\ easymock_workspace> java portfoliotester verificere output.,
easymock første ansøgning
Previous:easymock miljø fælde
Next Page:easymock junit integration