, easymock tilføjer en funktion til en falsk objekt ved hjælp af metoder, expect(), og expectlasscall(),.tag et kig på følgende kode snippet. //tilføje opførsel af calcium tjeneste at tilføje to numre easymock. forventer (calcservice. der tilsættes (10.0,20.0). og vende tilbage med ()); her har vi bedt easymock at give en opførsel af at tilsætte 10 og 20 til tilføje metode til calcservice, og som et resultat heraf, at værdien af). på dette tidspunkt, håne blot registreres den opførsel, men det virker ikke som en hån imod.efter ringer igen, det virker som forventet. //tilføje opførsel af calcium tjeneste at tilføje to numre easymock. forventer (calcservice. der tilsættes (10.0,20.0). og vende tilbage med ()); //aktivere håne //easymock. gengivelse (calcservice), f.eks. med easymock. replay(), trin 1: skabe en grænseflade til calculatorservice af matematiske funktioner, fil: calculatorservice -, offentlig grænseflade calculatorservice {offentlige dobbelt tilføje (dobbelt input1, dobbelt input2); offentlige dobbelt træk (dobbelt input1, dobbelt input2); offentlige dobbelt sig (dobbelt input1, dobbelt input2); offentlige dobbelt dele (dobbelt input1, dobbelt input2)}, trin 2: skabe en java klasse til at repræsentere mathapplication, fil: mathapplication -, offentlige klasse mathapplication(private calculatorservice calcservice; offentlige tomrum setcalculatorservice (calculatorservice calcservice) (this.calcservice = calcservice;} offentlige dobbelt tilføje (dobbelt input1, dobbelt input2) {tilbage calcservice. der tilsættes (input1, input2)} offentlige dobbelt træk (dobbelt input1, dobbelt input2) {tilbage calcservice. træk (input1, input2)} offentlige dobbelt sig (dobbelt input1, dobbelt input2) {tilbage calcservice. sig (input1, input2)} offentlige dobbelt dele (dobbelt input1, dobbelt input2) {tilbage calcservice. del (input1, input2)}}, trin 3: prøvning af mathapplication klasse, lad os prøve mathapplication klasse ved injektion i det grin af calculatorservice.nar vil blive skabt af easymock.,, fil: mathapplicationtester -, import org.easymock.easymock; import org.easymock.easymockrunner; import org.easymock.mock; import org.easymock.testsubject; import org.junit.assert; import org.junit.before; import org.junit.test; import org.junit.runner.runwith; //@ runwith lægger en løber med test - klasse til at nulstille prøvningsdata @ runwith (easymockrunner. klasse) offentlige klasse mathapplicationtester (//@ testsubject anmærkning er anvendt til at identificere den klasse, der skal anvende håne objekt @ testsubject mathapplication mathapplication = nye mathapplication(); //@ håne anmærkning anvendes til at skabe hån imod injiceres @ håne calculatorservice calcservice; @ testoffentlige eller testadd() (//tilføje opførsel af calcium tjeneste at tilføje to numre easymock. forventer (calcservice. der tilsættes (10.0,20.0). og vende tilbage med ()); //aktivere håne //easymock. gengivelse (calcservice); //teste tilføje funktioner hævder. assertequals (mathapplication. der tilsættes (10, 0, 0), 30.0,0)}}, trin 4: udføre test - cases, skabe en java - klasse fil, der hedder testrunner i, c: \\> easymock_workspace, til at gennemføre test (s).,, fil: testrunner -, import org.junit.runner.junitcore; import org.junit.runner.result; import org.junit.runner.notification.failure; offentlige klasse testrunner {offentlige statisk tomrum vigtigste (string [] args) {resultat resultat = junitcore. runclasses (mathapplicationtester. klasse).for (manglende fiasko: resultat. getfailures()) (system. println (fiasko. tostring())} system. println (resultat. wassuccessful())}}, løntrin 5: kontrollere resultatet, udarbejder klasser med, javac, compiler som følger: c: easymock_workspace> javac lommeregner. service.java matematik application.java matematik anvendelse tester.java test runner.java, nu løber testen løber for at se resultatet: c:. easymock_workspace> java testrunner verificere output. testadd (mathapplicationtester): forventet:, men var:, falske, f.eks. med easymock. replay(), trin 1: skabe en grænseflade til calculatorservice af matematisk funktioner.,,, fil: calculatorservice -, offentlig grænseflade calculatorservice (puder tilsættes (dobbelt input1 dobbelt, dobbelt input2); offentlige dobbelt træk (dobbelt input1, dobbelt input2); offentlige dobbelt sig (dobbelt input1, dobbelt input2); offentlige dobbelt dele (dobbelt input1, dobbelt input2)}, trin 2: skabe en java klasse til at repræsentere mathapplication.,,, mathapplication fil: - offentlige klasse mathapplication (private calculatorservice calcservice; offentlige tomrum setcalculatorservice (calculatorservice calcservice) (this.calcservice = calcservice;} offentlige dobbelt tilføje (dobbelt input1, dobbelt input2) {tilbage calcservice. der tilsættes (input1, input2)} offentlige dobbelt træk (dobbelt input1, dobbelt input2) {tilbage calcservice. træk (input1, input2)} offentlige dobbelt sig (double input1, dobbelt input2) {tilbage calcservice. sig (input1, input2)} offentlige dobbelt dele (dobbelt input1, dobbelt input2) {tilbage calcservice. del (input1, input2)}}, trin 3: prøvning af mathapplication klasse, lad os prøve mathapplication klasse ved injektion i en nar af calculatorservice.nar vil blive skabt af easymock.,, fil: mathapplicationtester -, import org.easymock.easymock; import org.easymock.easymockrunner; import org.easymock.mock; import org.easymock.testsubject; import org.junit.assert; import org.junit.before; import org.junit.test; import org.junit.runner.runwith; //@ runwith lægger en løber med test - klasse til at nulstille prøvningsdata @ runwith (easymockrunner. klasse) offentlige klasse mathapplicationtester (//@ testsubject anmærkning, der anvendes til at identificere klasse, der skal anvende håne objekt @ testsubject mathapplication mathapplication = nye mathapplication(); //@ håne anmærkning anvendes til at skabe hån imod injiceres @ håne calculatorservice calcservice; @ testoffentlige eller testadd() (//tilføje opførsel af calcium tjeneste at tilføje to numre easymock. forventer (calcservice. der tilsættes (10.0,20.0). og vende tilbage med ()); //aktivere håne easymock. gengivelse (calcservice); //teste tilføje funktioner hævder. assertequals (mathapplication. der tilsættes (10, 0, 20, 0) 30.0,0)}}, trin 4: udføre test - cases, skabe en java - klasse fil, der hedder testrunner i, c: \\> easymock_workspace, at udføre test (s).,, fil: testrunner -, import org.junit.runner.junitcore; import org.junit.runner.result; import org.junit.runner.notification.failure; offentlige klasse testrunner {offentlige statisk tomrum vigtigste (string [] args) {resultat resultat = junitcore. runclasses (mathapplicationtester. klasse).for (manglende fiasko: resultat. getfailures()) (system. println (fiasko. tostring())} system. println (resultat. wassuccessful())}}, løntrin 5: kontrollere resultatet, udarbejder klasser med, javac, compiler som følger: c: easymock_workspace> javac lommeregner. service.java matematik application.java matematik anvendelse tester.java test runner.java, nu løber testen løber for at se resultatet. c:. easymock_workspace> java testrunner verificere output, sandt.
easymock tilføje opførsel
Previous:easymock junit integration
Next Page:easymock kontrol opførsel