Mock
Spot er de objekter, der gemmer metodekald. Det omtalte som de dynamiske indpakninger for afhængigheder, der blev brugt i testene. Det bruges til at registrere og verificere interaktionen mellem Java-klasserne. En hån er kendt som den mest kraftfulde og fleksible version af testdoblingen. Vi bruger en metode til at håne kaldes håne() .
Hovedfunktionen ved at bruge mocks er, at det giver fuld kontrol over de hånede objekters adfærd. De falske objekter bruges generelt til adfærdsverifikation . Udtrykket adfærd betyder at kontrollere de korrekte metoder og stier, der anvendes på objekterne.
installering af brænder
Håner er for det meste skabt ved at bruge et bibliotek eller en hånende ramme som Mockito, JMock og EasyMock. Det bruges til at teste en lang række tests, hvor stubs ikke er tilstrækkelige. En af de væsentlige funktioner ved mock er, at vi kan verificere, hvor mange gange en given metode kaldes.
Følgende kodestykke viser, hvordan man bruger mock().
ToDoService doService = mock(ToDoService.class);
Stub
Stubber er de objekter, der indeholder foruddefinerede data og bruger dem til at give svar under test. Med andre ord er en stub et objekt, der ligner et rigtigt objekt med det mindste antal metoder, der er nødvendige for en test. Stubber bruges, når vi ikke ønsker at bruge objekter, der ville give et svar med rigtige data. En stub omtales som den letteste, og den mest statiske version af testen fordobles.
Stubbenes hovedfunktioner er:
jsp javatpoint
- Den returnerer altid det foruddefinerede output uanset input.
- Det kan bruges til at ligne databaseobjekterne.
- Stubs bruges til at reducere kompleksiteten, der opstår under skabelsen af de rigtige objekter. De bruges hovedsageligt til at udføre statslig verifikation .
Spion
Spioner er kendt som delvist hånende genstande . Det betyder, at spion skaber en delvis genstand eller en halv dummy af den virkelige genstand ved at stubbe eller spionere de rigtige. Ved spionage forbliver det virkelige objekt uændret, og vi udspionerer bare nogle specifikke metoder til det. Med andre ord tager vi det eksisterende (virkelige) objekt og erstatte eller spion kun nogle af dens metoder.
Spioner er nyttige, når vi har en stor klasse fuld af metoder, og vi ønsker at håne visse metoder. I dette scenarie bør vi foretrække at bruge spioner frem for håner og stubbe. Det kalder den rigtige metode adfærd, hvis metoderne ikke er stubbede.
I Mockito bruges spy()-metoden til at skabe spionobjekter. Det giver os mulighed for at kalde det rigtige objekts normale metoder. Følgende kodestykke viser, hvordan man bruger spy() metoden.
List spyArrayList = spy(ArrayList.class);
Forskellen mellem Stub og Mock
Parametre | Stub | Mock |
---|---|---|
Datakilde | Datakilden til stubs er hårdkodet. Det er normalt tæt koblet til testpakken. | Data om mocks er sat op af testene. |
Lavet af | Stubber er normalt håndskrevne, og nogle er genereret af værktøjer. | Håner oprettes normalt ved at bruge tredjepartsbiblioteket såsom Mockito, JMock og WireMock. |
Brug | Stubs bruges hovedsageligt til simple testsuiter. | Spotter bruges hovedsageligt til store testsuiter. |
Grafisk brugergrænseflade (GUI) | Stubs har ikke en GUI. | Mocks har en GUI. |
Følgende er nogle forskelle mellem mock og spion:
Parametre | Mock | Spion |
---|---|---|
Brug | Håner bruges til at skabe helt hånte eller dummy-objekter. Det bruges hovedsageligt i store testsuiter. | Spioner bruges til at skabe delvise eller halve falske objekter. Ligesom mock bruges spioner også i store testsuiter. |
Standardadfærd | Når du bruger falske objekter, er standardadfærden for metoder (når de ikke er stumpet) gør ingenting (udfører ingenting). | Når du bruger spionobjekter, er standardadfærden for metoderne (når de ikke er stubbet) den rigtige metodeadfærd. |
I vores tidligere tutorials har vi diskuteret nogle eksempler på stubbing, hån og spionage. For bedre at forstå forskellen mellem stubbing, hån og spionage, gå gennem eksemplerne.