, vi hidtil har anvendt tal for at skabe håner.easymock giver forskellige metoder til at skabe falsk objekter.easymock. createmock() skaber håner uden at bekymre os om for at håne metode kræver, vil gøre i løbet af sin indsats., syntaks, calcservice = easymock. createmock (calculatorservice. klasse), f.eks., trin 1: skabe en grænseflade til calculatorservice af matematiske funktioner, fil: calculatorservice. java, 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 calculatorserhr 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 en nar af calculatorservice.nar vil blive skabt af easymock. her har vi tilføjet to håne metode kræver, add() og subtract(), at håne formål via expect().men under prøvningen, vi har ringet til subtract() før add().når vi skaber en falsk objekt ved hjælp af easymock. createmock(), for gennemførelsen af metoden betyder ikke noget.,, fil: mathapplicationtester -, import org.easymock.easymock; import org.easymock.easymockrunner; import org.junit.assert; import org.junit.before; import org.junit.test; import org.junit.runner.runwith; @ runwith (easymockrunner. klasse) offentlige klasse mathapplicationtester (private mathapplication mathapplication; private calculatorservice calcservice; @ før offentlige tomrum setup() {mathapplication = nye mathapplication(); calcservice = easymock. createmock (calculatorservice. klasse); mathapplication. setcalculatorservice (calcservice)} @ test offentlige tomrum testaddandsubtract() {//tilføje opførsel at tilføje tal easymock. forventer (calcservice. der tilsættes (20.0,10.0). (30) vende tilbage; //fratrække opførsel at fratrække numre easymock. forventer (calcservice. træk (20.0,10.0). og vende tilbage med (10, 0); //aktivere håne easymock. gengivelse (calcservice); ////////test den trække funktionalitet hævder. assertequals (mathapplication. træk (20, 0, 10, 0), 10.0,0); //teste tilføje funktioner hævder. assertequals (mathapplication. der tilsættes (20, 0, 10, 0), 30.0,0); //kontrollere, at calcservice er gjort eller ikke easymock. kontrollere (calcservice)}}, skridt 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) til (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 mathapplicationtester.java, nu løber testen løber for at se resultatet: c: easymock_workspace> java. testrunner verificere output, sandt.
easymock createmock
Previous:easymock håndtering af undtagelser
Next Page:easymock createstrictmock